[cfe-dev] mincore.lib symbols in the link - how to avoid?

Kim Gräsman via cfe-dev cfe-dev at lists.llvm.org
Tue Aug 8 01:41:11 PDT 2017


Link with version.lib instead?

- Kim

Den 7 aug. 2017 5:52 em skrev "Russell Wallace via cfe-dev" <
cfe-dev at lists.llvm.org>:

> I'm trying to compile a program that is intended to use Clang as a
> library, and getting an error where it tries to link in some symbols that
> are not actually available.
>
> Windows 7
> Visual Studio 2017
> LLVM 4.0.1
> Everything 64-bit, and I built LLVM myself
>
> // minimal test program
> #include <clang/Frontend/CompilerInstance.h>
> int main(int argc, char **argv) {
>   clang::CompilerInstance ci;
>   return 0;
> }
>
> cl /I\llvm\build\include /I\llvm\build\tools\clang\include
> /I\llvm\include /I\llvm\tools\clang\include /J /MTd /Zi test.cpp
> \llvm\build\Debug\lib\*.lib
>
> clangDriver.lib(MSVCToolChain.obj) : error LNK2019: unresolved external
> symbol GetFileVersionInfoSizeW referenced in function "private: class
> clang::VersionTuple __cdecl clang::driver::toolchains::MSVCToolChain::
> getMSVCVersionFromExe(void)const " (?getMSVCVersionFromExe@
> MSVCToolChain at toolchains@driver at clang@@AEBA?AVVersionTuple at 4@XZ)
> clangDriver.lib(MSVCToolChain.obj) : error LNK2019: unresolved external
> symbol GetFileVersionInfoW referenced in function "private: class
> clang::VersionTuple __cdecl clang::driver::toolchains::MSVCToolChain::
> getMSVCVersionFromExe(void)const " (?getMSVCVersionFromExe@
> MSVCToolChain at toolchains@driver at clang@@AEBA?AVVersionTuple at 4@XZ)
> clangDriver.lib(MSVCToolChain.obj) : error LNK2019: unresolved external
> symbol VerQueryValueW referenced in function "private: class
> clang::VersionTuple __cdecl clang::driver::toolchains::MSVCToolChain::
> getMSVCVersionFromExe(void)const " (?getMSVCVersionFromExe@
> MSVCToolChain at toolchains@driver at clang@@AEBA?AVVersionTuple at 4@XZ)
>
> These symbols are nominally available in mincore.lib, but not really;
> adding that to the link, produces an executable that won't run without an
> obscure DLL that is not present on many Windows machines, so it's necessary
> to avoid bringing them in, in the first place.
>
> clang.exe itself runs fine, which is presumably an existence proof that
> this is possible.
>
> Same problem arises with release build, and with a minimal library set
> instead of *.lib.
>
> What is the recommended way to solve this problem?
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170808/daa1b534/attachment.html>


More information about the cfe-dev mailing list