首页 > 解决方案 > 为什么一个标志在命令行上使用 cmake 工作,但不在 CMakeLists 文件中的 if(MSVC) 语句中?

问题描述

我有一个 CMakeLists.txt 文件,在其中,我使用一个if(MSVC)子句来设置一个标志(特别是set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON))。但是,这不起作用,生成的 DLL 为空。

当我在命令行中设置标志时,如下所示:

cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=True ..

它工作得很好,并且 DLL 与 LIB 文件一起生成。谁能想到这个问题的原因?谢谢!

标签: c++visual-c++cmake

解决方案


推荐阅读