c++ - 为什么一个标志在命令行上使用 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 文件一起生成。谁能想到这个问题的原因?谢谢!
解决方案
推荐阅读
- design-patterns - GoF 书中的意思是什么?
- ios - Why does my custom UITextField look like different at Interface Builder vs in running on device?
- excel - 检查另外 2 列中是否存在 2 列
- swift - SwiftUI:让按钮的左右粘在父母的左右
- python - 正确格式的列表元素的长度
- c# - 企业库日志记录 - Visual Studio - MONO - MacOSX - NotImplementedException
- angular - RxJS - 使用 forEach 的多个请求并等待全部完成
- java - 如何在月份实现 MM 格式的 EditText
- xamarin - 如何使用自定义控件对属性进行绑定?
- javascript - 递归渲染组件时,React-redux 未获取状态