CMake Visual Studio将可执行文件与静态库链接 我有一个非常简单的(当前只是一个主CPP)CGED C++项目,我在Mac OS X和Windows上都尝试构建。这取决于libgsasl,我在两种平台上都将其编译为静态库

CMake Visual Studio将可执行文件与静态库链接 我有一个非常简单的(当前只是一个主CPP)CGED C++项目,我在Mac OS X和Windows上都尝试构建。这取决于libgsasl,我在两种平台上都将其编译为静态库,c++,visual-c++,cmake,static-libraries,C++,Visual C++,Cmake,Static Libraries,Mac OS X在构建过程中没有问题,Windows在构建过程中也不会抱怨,并生成一个EXE。当我尝试在windows上运行EXE时,它会给出一条错误消息,说明应用程序无法运行,因为它找不到libgsasl.dll 我甚至没有尝试链接动态库,只是链接静态库(即.lib版本)。我错过什么了吗?在Visual Studio中,似乎找到了gsasl.lib文件并将其包含在链接命令中。在MS工具链中,.lib可以是静态库,也可以是实际DLL的导入库 您可以使用dumpbin查看库中的实际类型。有两种不同

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


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

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


您可以使用dumpbin查看库中的实际类型。有两种不同的方法来处理细节,但我更喜欢使用/summary选项。导入库将有.idata$n节(其中n是整数),而静态库将有.text节。

能否发布cl用于生成exe的确切命令?能否发布CMakeLists.txt?