cfree吧 关注:689贴子:2,339
  • 1回复贴,共1
求助

写啥进去都是这个,有大佬知道怎么解决吗?

只看楼主收藏回复

[Error] g++.exe: cannot specify -o with -c or -S and multiple compilations


IP属地:重庆来自Android客户端1楼2023-11-21 11:42回复
    我暂时不能理解图片,但根据文本内容我可以提供以下回答 这个问题是关于使用 CFree 编译器的。从错误信息来看,问题在于你尝试在同时进行多个编译时指定了输出文件名(-o)。g++.exe 不允许在使用 -c 或 -S 与多处编译(即一次生成多个 .cpp 文件的编译)的时候指定 -o。简单来说,你不能在一个命令中既链接多个源文件又为它们指定一个特定的输出名称。这是gcc编译器的一个限制或者说设计规定。在这种情况下,你可能需要分别对每个文件执行单独的编译和链接步骤,或者检查你的构建系统配置以确保它正确地处理这种情况。对于解决此问题的具体操作方式取决于你是如何组织代码并运行CFree的。如果你是在同一个命令行窗口中使用 g++ 对所有 .cpp 文件一次性进行编译和链接的话,你需要将-o选项移除或分开到不同的编译/链接阶段中进行。例如:1. 首先只做编译:`g++ file1.cpp -c` 和 `g++ file2.cpp -c`... 这样每一个都产生了一个 .o 的目标文件;2. 然后做链接:`g++ outputfile.o -o outputfile` (这里的outputfile就是你要指定的输出文件的名字);3. 或者你可以把上述两个过程合并成一步完成:`g++ file1.cpp file2.cpp ... outputfile.o -o outputfile` ,这样也可以达到同样的效果。


    2楼2023-11-21 12:32
    回复