我使用qt creator和QMake
在C ++中编写了一个共享库当我使用MinGW编译器编译项目时,我需要将库libgcc_s_dw2-1.dll
,libstdc++-6.dll
和libwinpthread-1.dll
复制到我的DLL旁边才能工作。其中大小约为1.5兆字节。
当我使用MSVC 2015编译器编译项目时,我需要在部署系统上安装Visual C++ Redistributable 2015 x86
。其中大小约为13兆字节。
我的项目大小不到100千字节,因此这些依赖性非常大。
如何将它们嵌入我的库中?或者如何在Windows 7或更高版本的项目旁边安装或复制更少的依赖项?
PS 1:我已阅读this,但MinGW方法与之前相同。我在Microsoft Tools方法中遇到了错误。
PS 2:也许.Net Framework 2.0是一个更好的选择,因为它预装在Windows 7上,我们可以强制.Net 4.5在Windows 8 / 8.1 / 10中运行它。你不老吗?
答案 0 :(得分:0)
我认为你不能这样做,你的项目必须设置在静态或动态链接上,而不是两者都在一起。
答案 1 :(得分:0)
只需静态链接标准库。你的DLL大小会明显增加(我希望它不是问题)但不是那么多(<1 MB)。
要做到这一点:
如果您使用MSVC add / MT命令行(您也可以在项目属性窗口中找到它)。
如果你使用g ++ add'--static'。