link /DLL /MACHINE:X64 /OUT:LLVM3.3.dll LLVM*.lib
但无济于事.它错误:
LINK : warning LNK4001: no object files specified; libraries used LINK : error LNK2001: unresolved external symbol _DllMainCRTStartup LLVM3.3.dll : fatal error LNK1120: 1 unresolved externals
互联网建议添加/ DEFAULTLIB:corelib开关,所以我这样做但又有问题:
> link /DLL /MACHINE:X64 /DEFAULTLIB:corelibc /OUT:LLVM3.3.dll LLVM*.lib LINK : warning LNK4001: no object files specified; libraries used LINK : fatal error LNK1104: cannot open file 'corelibc.lib'
我该怎么做呢?
编辑:我设法修复上述问题,通过实现一个空的DllMain并从它做一个EmptyDllMain.obj:
#include <windows.h> BOOL APIENTRY DllMain( HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved ) { return TRUE; }
然后尝试:
link /DLL /OUT:LLVM3.3.dll LLVM*.lib EmptyDllMain.obj
但我得到的DLL只有8kb – 它似乎错过了许多兆字节的LLVM库!我如何将它们包含在内?
EDIT2:我解决了Windows上的LLVM编译问题,看看这个document on github.