如何使用 qmake 在 C++ 中构建独立的共享库?
How to build an standalone shared library in C++ using qmake?
我使用 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 KB,所以这些依赖关系很大。
如何将它们嵌入我的图书馆?或者如何在 Windows 7 或更高版本的项目旁边安装或复制更少的依赖项?
PS 1:我看过this,但是MinGW的方法和以前一样。而且我在Microsoft Tools方法中遇到了错误。
PS 2:也许 .Net Framework 2.0 是更好的选择,因为它预装在 Windows 7 上,我们可以在 [=31] 中强制 .Net 4.5 运行 它=] 8/8.1/10。你不老吗?
我认为你不能那样做,你的项目必须设置为静态或动态link,而不是两者一起设置。
只是 link 个静态标准库。您的 DLL 大小会明显增加(我希望这不是问题)但不会增加那么多 (<1 MB)。
为此:
如果您使用 MSVC,请将 /MT 添加到命令行(您也可以在项目属性 window 中找到它)。
如果您使用 g++ 添加“--static”。