Windows上でLLVM 3.3をビルドする(恐ろしい)タスクを実行しています。私はLLVM*.lib
ファイルのロードを持っています。私はそれらを1つの巨大な共有DLLにリンクしたいが、苦労している(これはウィンドウ上のものをリンクする初めてのことだ)。私は試しました:.libsをたくさんリンクしてDLLを作成する:未解決の外部シンボル_DllMainCRTStartup
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'
私はこれをどのように行うのですか?
EDIT:私は空の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:私はこのdocument on githubを見て、Windowsの問題にLLVMのコンパイルを解決しました。
Visual C++のライブラリは何ですか?0以下*(corelibcは別の名前を持つ)*? – user2284570