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

Russell Wallace via cfe-dev cfe-dev at lists.llvm.org
Tue Aug 8 06:13:44 PDT 2017


That works, thanks!

On Tue, Aug 8, 2017 at 9:41 AM, Kim Gräsman <kim.grasman at gmail.com> wrote:

> 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::MSV
>> CToolChain::getMSVCVersionFromExe(void)const "
>> (?getMSVCVersionFromExe at MSVCToolChain@toolchains at driver@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::MSV
>> CToolChain::getMSVCVersionFromExe(void)const "
>> (?getMSVCVersionFromExe at MSVCToolChain@toolchains at driver@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::MSV
>> CToolChain::getMSVCVersionFromExe(void)const "
>> (?getMSVCVersionFromExe at MSVCToolChain@toolchains at driver@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/0da0bb4d/attachment.html>


More information about the cfe-dev mailing list