使用Visual Studio (2019)进行Linux项目开发时遇到项目编译时提示如标题所写的:
g++: fatal error: cannot specify -o with -c, -S or -E with multiple files
仔细检查了项目代码,并没有发现问题,也尝试了移除最近改动过的代码、增加过的源码文件,均不能正常编译…(同时,也确认过新建的项目可以正常编译,证明开发环境本身还是没问题的)
搜索了一番,找到官方社区上2017预览版提到的类似问题的帖子:https://developercommunity.visualstudio.com/content/problem/80731/linux-invalid-build-command-if-two-source-files-ha.html ,仔细阅读了下,发现提到的问题是不同文件夹下的重名源码文件同时传递给g++编译时会出现这个错误,检查了下自己的项目,发现并没有这种问题,而且貌似2019也不会有这种问题。
最终,排查到问题在于项目设置的include路径里有曾经存在,但已被删除的文件夹,移除这些include后,编译恢复正常!
博主友情提示:
如您在评论中需要提及如QQ号、电子邮件地址或其他隐私敏感信息,欢迎使用>>博主专用加密工具v3<<处理后发布,原文只有博主可以看到。