c++ - 如何让 CMake 创建一个 dll 及其匹配的 lib 文件?

标签 c++ visual-studio cmake

我正在使用 CMake 通过 Visual Studio 2010 创建一个共享库。该解决方案输出一个 dll 文件,但不是一个匹配的 lib 文件。如何告诉 CMake 生成 lib 文件,以便我可以将其他项目链接到 dll?

最佳答案

首先检查您的共享库中是否至少有一个导出符号。如果 dll 不导出符号,Visual Studio 不会生成 .lib 文件。

接下来,检查您的 cmake 文件 - 可能您已设置共享库目标的 CMAKE_ARCHIVE_OUTPUT_DIRECTORY 变量或 ARCHIVE_OUTPUT_DIRECTORY 属性。如果设置了这些变量/属性,那么 Visual Studio 会将 .lib 文件输出到该变量/属性指定的不同目录中。 (也可以有特定于配置的版本,例如 ARCHIVE_OUTPUT_DIRECTORY_Release。)

关于c++ - 如何让 CMake 创建一个 dll 及其匹配的 lib 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7614286/

相关文章:

.net - 是否可以在 Visual Studio 中将引用从一个项目复制/粘贴到另一个项目?

c++ - 如果我切换到另一个应用程序,我的MFC应用程序将卡住

python - ChemPy : clang: error: unsupported option '-fopenmp'

c++ - 分配另一个 std::vector 的 std::vector 地址

c++ - 检查 Mutex 释放

c# - 如果 "unused"命名空间实际上在预处理器指令中使用,如何阻止 VS 删除它们?

makefile - 高工作值(value)的缺点

c - 我无法使用 cmake 和 MinGW gcc 编译器构建 gtk gui

android - 如何安装 Android Studio 2.2 CMake 包/工具?

C++11 - 无法使用 constexpr 函数定义 constexpr 文字?