【问题标题】:CMake not building .dll file but creating .dir insteadCMake 不构建 .dll 文件,而是创建 .dir
【发布时间】:2021-11-12 20:43:46
【问题描述】:

我一直在尝试将 CMake 与 Clion IDE 一起使用来创建 DLL 文件。当运行到 cmake 时,我最终得到一个看起来像这样的文件夹。我在 Windows 上运行它,但如果可能的话,我宁愿不使用 Visual Studio,它实际上可以创建 QuadCopter.dll,然后我可以在其他上下文中使用这些函数。

我的 Cmake 文件如下所示,我已经使用 SHARED 和 STATIC 修饰符运行了它,但它似乎没有什么不同。网上的其他人说静态应该做我想做的,但似乎没有。我实际上想要一个 .dll 文件,然后我可以在其他地方使用,而不是正在制作的这个文件夹。如果您知道如何提供帮助,您能否将您的整个解决方案包括在内,因为我不熟悉 CMake,所以对您来说显而易见的内容将对我非常有帮助。从我读到的内容来看,这应该没有我发现的那么难。

cmake_minimum_required(VERSION 3.20)
project(QuadCopter)
#add_library(QuadCopter SHARED main.h main.cpp)
add_library(QuadCopter STATIC main.h main.cpp)

【问题讨论】:

  • 你在运行cmake后建好项目了吗?看起来您没有,因为您的屏幕截图中没有构建的目标文件。如果你想构建一个dll,你肯定需要使用SHARED 而不是STATIC
  • 您需要SHARED 用于 dll(或 MODULE,如果动态加载库但未链接)。输出目录看起来很像 cmake 配置步骤的结果。是否有不同的方法来触发配置和构建 clion?如果是这样,您是否在前者之后触发了后者?

标签: c++ dll cmake clion


【解决方案1】:

是的,解决方案很简单,CMake 正在创建一个目录,但我不知道我实际上必须运行第二步来构建 dll。那你费边的评论。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多