c - cmake中静态链接.lib文件

标签 c cmake clion

我正在尝试使用 IUP 在 Windows 10 中创建一个 gui 程序。我还使用 Clion+MSVC 作为 IDE。 IUP 有 .lib 和 .dll 文件可供下载,当我没有指定如何在 cmake 中链接时一切顺利;当没有关于链接的自定义标志时,cmake 会自动尝试与 iup.dll 动态链接。

但是,当我尝试使用编译器标志 /MT 静态链接 iup.dll 时,编译器会自动将 /MT 更改为 /MD 并且只是动态链接。

这是我用来强制编译器静态链接的 cmake 代码:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MT")

然后我收到以下警告:

cl : Command line warning D9025 : overriding '/MT' with '/MD'

有什么方法可以“强制”cmake 和编译器将库静态链接到我的程序?

最佳答案

Cmake 具有自动设置几乎所有这些标志的命令。

尝试在 target_link_libraries

之前添加 add_library(iup.dll STATIC IMPORTED)

Cmake doc

关于c - cmake中静态链接.lib文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55018218/

相关文章:

c++ - 如何在 Clion 中链接 ws2_32

c++ - CLion with Cygwin : g++. exe .../compiler-arguments.txt: No such file or directory 错误

c - GNU 内置函数有哪些?

c++ - CMAKE 没有找到我的第一个柯南包?

c++ - CMake 单元测试 - 未解析的外部符号

c++ - CMakeLists 包含子目录中的头文件

c++ - C++11初始化变量时{}和=的区别

android - 将 Android NDK make 文件重构为模块

c - 下推自动机的结构问题

c - 使用 clang 在 Mac 上的 FFMPEG 项目中包含 <libavformat/avformat.h> 时出错