首页 > 解决方案 > 仅禁用警告 D9024(无法识别的文件类型;假定为目标文件)

问题描述

我有一个与操作系统无关的 makefile(呃,我知道),它同时支持 GNU 和 MSVC 编译器(以及其他)。它总是.o在编译时生成目标文件,即使在为 MSVC(需要.obj文件)编译时也是如此。这不是一个大问题;cl发出警告

cl : Command line warning D9024 : unrecognized source file type '.o', object file assumed

并继续,成功编译。

我想删除这个难看的命令行警告,只有这个警告,但想不出任何办法。

IGNORE这样的参数似乎并没有抑制它,例如使用

cl -IGNORE:D9024 ...

以及抑制代码中生成的警告的技术(例如这个)不适用于此命令行警告。

有什么办法可以抑制D9024?

否则(并且最好),有没有办法告诉 MSVC 提供的.o文件是目标文件,所以它不需要这样假设?

标签: c++visual-c++suppress-warnings

解决方案


通过不执行与 的链接来简化cl,而是显式调用 MSVClink


推荐阅读