gpt4 book ai didi

c++ - CMake Visual Studio 将可执行文件与静态库链接

转载 作者:行者123 更新时间:2023-11-28 08:31:56 35 4
gpt4 key购买 nike

我有一个非常简单(目前只有一个 main.cpp)的 CMake C++ 项目,我试图在 Mac OS X 和 Windows 上构建它。它依赖于 libgsasl,我在两个平台上都将其编译为静态库。

Mac OS X 构建没有问题,Windows 也不会在构建过程中提示并生成一个 EXE。当我尝试在 Windows 上运行 EXE 时,它给出了一条错误消息,指出应用程序无法运行,因为它找不到 libgsasl.dll。

我什至没有尝试链接动态库,只是链接静态库(.lib 版本)。我错过了什么吗?在 Visual Studio 中,似乎找到了 gsasl.lib 文件并将其包含在链接命令中。

最佳答案

在MS工具链中,.lib可以是静态库,也可以是实际DLL的导入库。

您可以使用 dumpbin 查看库内部以查看它的实际类型。有几种不同的方法来处理细节,但我的首选技术是使用/summary 选项。导入库将包含 .idata$n 部分(其中 n 是整数),而静态库将包含 .text 部分。

关于c++ - CMake Visual Studio 将可执行文件与静态库链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579426/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com