C++ 仅禁用警告D9024(无法识别的文件类型;假定为对象文件)
我有一个与操作系统无关的makefile(呃,我知道),它支持GNU和MSVC编译器(以及其他)。在编译时,它总是生成C++ 仅禁用警告D9024(无法识别的文件类型;假定为对象文件),c++,visual-c++,suppress-warnings,C++,Visual C++,Suppress Warnings,我有一个与操作系统无关的makefile(呃,我知道),它支持GNU和MSVC编译器(以及其他)。在编译时,它总是生成.o对象文件,即使在为MSVC编译时也是如此(MSVC需要.obj文件)。这不是一个大问题cl发出警告 cl:命令行警告D9024:无法识别的源文件类型“.o”,假定为对象文件 并进行了成功的编译 我想删除这个难看的命令行警告,并且只删除这个警告,但是我想不出任何方法 像这样的参数似乎无法抑制它,例如使用 cl-忽略:D9024。。。 禁止在代码中生成警告的技术(如一种)不适
.o
对象文件,即使在为MSVC编译时也是如此(MSVC需要.obj
文件)。这不是一个大问题<代码>cl发出警告
cl:命令行警告D9024:无法识别的源文件类型“.o”,假定为对象文件
并进行了成功的编译
我想删除这个难看的命令行警告,并且只删除这个警告,但是我想不出任何方法
像这样的参数似乎无法抑制它,例如使用
cl-忽略:D9024。。。
禁止在代码中生成警告的技术(如一种)不适用于此命令行警告
有没有办法抑制D9024
否则(最好是),有没有办法告诉MSVC所提供的
.o
文件是目标文件,这样它就不必假设是这样的?通过不执行与cl
的链接来简化,而显式地调用MSVC的链接
,从而检测到.o不是源文件并对其进行处理。你不得不佩服古人的智慧。如果你还为cl.exe提供了/c选项,你不应该向它发送对象文件。为什么它认为应该得到一个源文件却收到一个目标文件?@0-0我没有这么做。。。将我的.o
文件与cl
链接时,如果没有/c
flag@HansPassant我不明白,这发生在链接时(没有传递源文件),如果对象文件名为.obj