J T*_*J T 9 c++ mingw build shared-libraries
我正在使用MinGW(GCC 4.5.0)编译我的库以作为共享库导出.我这样做是通过使用MAKE命令编译所有源文件,类似于:
gcc -shared -c mysource.cpp -o mysource.o
Run Code Online (Sandbox Code Playgroud)
最后:
gcc -shared -lstdc++ -lm -lws2_32 mysource.o -o mylib.dll
Run Code Online (Sandbox Code Playgroud)
当我对输出文件进行依赖性遍历时(例如使用http://www.dependencywalker.com/),我看到有3个依赖项:
KERNEL32.dll
MSVCRT.dll
LIBSTDC++-6.DLL
Run Code Online (Sandbox Code Playgroud)
让我的DLL依赖于不附带windows的文件对于我的最终目标来说是次优的.
有没有办法我可以设置我的系统,以便最终输出(DLL)只依赖于KERNEL32和MSVCRT?
该-static标志可能是你在找什么.(对我来说,使用两者-static并且-shared在同一条线上看起来仍然很有趣,但它们不是对立的.)
如果您将g++用作驱动程序而不是gcc,则可以使用该-static-libstdc++标志.
| 归档时间: |
|
| 查看次数: |
5533 次 |
| 最近记录: |