【发布时间】:2016-02-25 17:14:16
【问题描述】:
我正在尝试使用 cmake 设置一个旧项目,并且我希望所有标志都与以前相同。
旧项目生成器的链接器标志 /SUBSYSTEM 与最小子系统版本号 5.01 设置如下:
/SUBSYSTEM:WINDOWS,"5.01"
我在 cmake 中尝试了同样的方法,添加了这个:
set_target_properties(mytarget PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS,\"5.01\"")
但是结果是错误的。 Cmake 似乎删除了(转义的)双引号并将链接器标志放置在 Visual Studio 项目中的“添加选项”中:/SUBSYSTEM:WINDOWS,5.01
这样子系统标志无法识别并设置为CONSOLE。
我尝试了几种组合如何将最小版本,"5.01" 添加到子系统标志但没有成功。
还有其他方法可以将最小子系统版本号添加到 /SUBSYSTEM 标志吗?
【问题讨论】:
-
您使用的是什么版本的 Visual Studio?
-
我的 Visual Studio 版本是 2012,但它也应该适用于 2003,因为这是我的发布编译器。
-
你试过双重转义:
\\\"5.01\\\"。前段时间我看到一些关于某些属性的奇怪转义规则的邮件,当正确的转义甚至取决于正在使用的生成器时。 -
我也试过了,结果是
\"5.01\"。无论如何,谢谢你的评论。我现在使用没有最小版本的/SUBSYSTEM:WINDOWS,因为它似乎不起作用。
标签: c++ visual-studio linker cmake