【问题标题】:adding a msvc flag starting with "/D" results in it being treated as an added definition添加以“/D”开头的 msvc 标志会导致将其视为添加的定义
【发布时间】:2016-09-02 14:29:03
【问题描述】:

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

add_definitions(/DYNAMICBASE)

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

/D "YNAMICBASE"

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

【问题讨论】:

  • /Dcompiler (cl.exe) 标志,而 /DYNAMICBASElinker ( link.exe) 一。
  • 您是否尝试通过target_link_libraries()LINK_FLAGS 目标属性添加它?
  • @CristiFati 添加一个答案,你就会得到分数 - 我使用了 CMAKE_EXE_LINKER_FLAGSCMAKE_SHARED_LINKER_FLAGS,它成功了! @弗洛里安谢谢

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


【解决方案1】:

我的评论(Visual Studio 特定):

/Dcompiler (cl.exe) 标志,而 /DYNAMICBASElinker (link. exe) 一个。

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

将它翻译成 cmake 可以理解的东西(设置 CMAKE_SHARED_LINKER_FLAGSCMAKE_EXE_LINKER_FLAGS 变量)解决问题是@onqtam 的优点。

所以,应该分点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多