使用 Visual Studio, 默认的编译选项为 /MD 和 /MDd, 即链接的是多线程动态链接库. 此时, 发布软件的时候需要带上依赖的 DLL (系统 DLL 除外).
如果想把依赖的库文件也编译进可执行文件中就需要设置编译选项 /MT 和 /MTd, 即链接静态库, 二进制目标文件中就包含了运行所需要的依赖, 发布时也无需附带其他的 DLL 文件了.
CMake 中可以很方便地设置编译选项 /MT 和 /MTd:
在 CMake 项目中, 如果使用 vcpkg 管理第三方的依赖, 为了链接静态库, 同样要将第三方依赖编译为静态库, 需要在 CMakeLists.txt 中设置:
这样就可以正常编译了.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/190136.html