Debian
如何為 9.3-win32 MinGW 執行檔靜態連結缺少的 libgcc_s_seh-1.dll 和 libstdc++-6.dll DLL
我想使用 MinGW 在 Linux 上編譯一個簡單的 Windows 應用程序。
我編譯如下:
x86_64-w64-mingw32-g++ -L. -l:mathlib.dll -o fib main.cpp mathlib.h
這將生成一個執行檔,該執行檔
fib
使用從mathlib.dll
.現在,
fib
在 Windows 上執行時,它會抱怨libgcc_s_seh-1.dll
並且libstdc++-6.dll
失去了。如果我將這些 DLL 複製到 Windows,那麼一切正常,但我不想將這些 MinGW 依賴項與每個執行檔一起複製。
如何靜態連結這些 MinGW 依賴項,這樣不
foo
依賴於其他 DLLmathlib.dll
?
使用and選項建構您的程序(以及
mathlib.dll
,如果需要) :-static-libgcc``-static-libstdc++
x86_64-w64-mingw32-g++ -static-libgcc -static-libstdc++ -L. -l:mathlib.dll -o fib main.cpp mathlib.h
libgcc
這將生成一個對and沒有外部依賴的二進製文件libstdc++
。