VS2019跨平台编译linux项目遇到g++错误cannot specify -o with -c, -S or -E with multiple files

g++ : error : cannot specify -o with -c, -S or -E with multiple files

实际上这个错误是由于,该项目将要生成两个或更多相同名称的.o文件,产生了冲突。
所以解决方法是:检查工程中源文件(生成obj的文件)有没有重复添加、重复名称的情况。如果有,就只保留其中一个,或者将另一个重命名为其他名称,即可解决该问题。

例如,下面的两图是同一个项目中包含了两个stdafx.cpp的情况:
VS2019跨平台编译linux项目遇到g++错误cannot specify -o with -c, -S or -E with multiple files_第1张图片
VS2019跨平台编译linux项目遇到g++错误cannot specify -o with -c, -S or -E with multiple files_第2张图片
因此在编译链接时,(stdafx.o)也产生两个,无法区分谁是谁。
所以移除其中一个stdafx.cpp,或者将其中一个的“属性-常规-项类型”设置为“不参与生成”即可。
VS2019跨平台编译linux项目遇到g++错误cannot specify -o with -c, -S or -E with multiple files_第3张图片

你可能感兴趣的:(c++,MSVC,linux,c++)