-Ot标志在Visual Studio 2017中代表什么?

Swt*_*svn 6 visual-studio visual-studio-2017

我收到错误错误C1007'p2'中的无法识别标志'-Ot',但在项目的命令行字符串中找不到-Ot。谷歌搜索没有帮助。有人知道那个标志代表什么吗?

小智 8

我在编译的项目中遇到了类似的问题。这似乎是在 MSVC 2017 链接器尝试将依赖库“.lib”链接到您的项目时引起的,并且它是在启用优化标志的/Ot情况下编译的。这就是为什么你不能在你自己项目的命令行上看到它的原因。您可以尝试以下操作之一。

  1. 在没有/Ot启用的情况下重新编译你的库(属性?C/C++?优化?偏好大小或速度?两者都不是),然后重新编译整个项目。
  2. 将 MSVC 2017 工具链更新至最新版本,即 14.14.26428。更新后,重新编译您的项目。很奇怪,但在我的机器配置中,工具链 14.13 无法链接使用较新的工具链编译并/Ot启用的库。

两种解决方案都适用于我的情况,但我最终使用了数字 2。


Har*_*ari 5

仅供将来参考此错误消息:我在未设置 -Ot 选项的情况下收到此错误,错误消息具有误导性。原来,我尝试使用 140 工具集(VS2015 - 忘记升级到 141)构建一个项目,其中 .dll 和 .lib 依赖项已经使用 141(VS2017)构建。将工具集更新为 141 后,可以构建项目。