我想使用MinGW在Linux上编译一个简单的Windows应用程序。
我的汇编如下:
x86_64-w64-mingw32-g++ -L. -l:mathlib.dll -o fib main.cpp mathlib.h
这将产生一个可执行的fib
,它使用从mathlib.dll
导入的函数计算N‘’th数。
现在,在Windows上执行fib
时,它会抱怨缺少libgcc_s_seh-1.dll
和libstdc++-6.dll
。
如果我将这些DLL复制到Windows,那么一切都正常,但我不希望将这些MinGW依赖项复制到每个可执行文件中。
如何静态地链接这些MinGW依赖项,使foo
不依赖于mathlib.dll
以外的其他DLL?
发布于 2021-02-08 13:29:57
使用mathlib.dll
和-static-libgcc
选项构建您的程序(如果有必要的话):
x86_64-w64-mingw32-g++ -static-libgcc -static-libstdc++ -L. -l:mathlib.dll -o fib main.cpp mathlib.h
这将产生不依赖于libgcc
和libstdc++
的二进制文件。
https://unix.stackexchange.com/questions/633316
复制相似问题