添加以“/ D”开头的msvc标志会导致将其视为添加的定义

时间:2016-09-02 14:29:04

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

所以我试图像这样添加/DYNAMICBASE选项:

add_definitions(/DYNAMICBASE)

,当我查看项目c ++命令行选项时,MSVC中的结果是:

/D "YNAMICBASE"

我该如何添加此标志?我也试过使用CMAKE_CXX_FLAGS,但同样的事情发生了。

1 个答案:

答案 0 :(得分:1)

我的评论( Visual Studio 具体):

  

/D编译器 cl.exe )标志,而/DYNAMICBASE链接器(< em> link.exe )一个。

只是答案的一半,而找到根本原因

cmake 理解(设置CMAKE_SHARED_LINKER_FLAGSCMAKE_EXE_LINKER_FLAGS变量)解决问题的内容翻译为@ onqtam的优点。

所以,这些要点应该分开。