Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 仅禁用警告D9024(无法识别的文件类型;假定为对象文件)_C++_Visual C++_Suppress Warnings - Fatal编程技术网

C++ 仅禁用警告D9024(无法识别的文件类型;假定为对象文件)

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。。。 禁止在代码中生成警告的技术(如一种)不适

我有一个与操作系统无关的makefile(呃,我知道),它支持GNU和MSVC编译器(以及其他)。在编译时,它总是生成
.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