使用Visual Studio 2019 CMake项目时的预处理程序指令在编辑器中不可见

时间:2019-08-24 21:28:49

标签: visual-studio cmake cross-platform visual-studio-2019 conditional-compilation

我第一次在Visual Studio 2019中尝试CMake项目类型(没有真正的CMake先前经验)。我想编译一个非常简单的代码,然后在Windows和Linux(使用WSL或MX Linux VM)上运行它。

我在CMake JSON中定义了三种配置(x64-Debug,WSL-Debug和Linux-Clang-Debug)。我想测试一些条件编译以在Linux和Windows上驱动不同的行为,所以我添加了一个#if defined(_WIN32)||。已定义(_WIN64)和#if已定义(LINUX)||已定义(UNIX)。

即使我使用的是WSL-Debug配置或Linux-Clang-Debug配置,也始终在.c文件的编辑器中定义_WIN64。

在JSON配置中,有“ CMake命令参数”和“构建命令参数”的选项,但是这些选项似乎都没有采用“ -DLINUX”或类似的东西(我得到了错误)。

我将在哪里定义这些预处理程序指令,因此我可以: 1)在我的WSL \ Linux配置中使用-DLINUX或_DUNIX,而不是_WIN32或_WIN64

2)我的窗口配置具有_WIN32或_WIN64

3)并看到它们在编辑器中实时生效,因此该配置的代码不会“编译”出来(就像我使用普通的VS构建项目并在具有不同预处理器的配置之间交换时一样)指令,可以很好地处理这种情况)

0 个答案:

没有答案