gpt4 book ai didi

c++ - 如何修复错误 : g++. exe:无法使用 -c 或 -S 指定 -o 以及多次编译

转载 作者:行者123 更新时间:2023-11-30 19:28:17 30 4
gpt4 key购买 nike

程序没有运行。如何修复它(我使用C-Free 4.0)? g++.exe:无法使用 -c 或 -S 指定 -o 以及多次编译

最佳答案

您可以包含您正在使用的整个构建命令吗?我的猜测是,您正在尝试在单个命令中将多个文件编译为可执行文件(例如 g++ file1.cc file2.cc file3.cc -o file.exe),但您也在编译命令中有一个 -c 标志。

仅供引用,通常在编译时会发生两件事。首先,源代码变成机器代码。其次,机器代码被链接以生成可执行文件。

在 gcc/g++ 中,您可以使用 -c 标志将一个源文件编译为机器代码。您可以使用 -o 标志将一个(或多个)机器代码文件链接到可执行文件中。有一种简写方式,您可以使用 -o 标志一次性编译和链接所有内容(但这通常不是一个好主意,因为对任何文件的任何更改都需要您重新编译所有内容)。

至于-S,这是当你想从源代码生成汇编代码时使用的。不过,我猜这不是你正在做的事情。

这里有一个例子,只是为了完善它。假设您有文件 file1.ccfile2.cc,并且 file1.cc< 中有一个 main() 函数。然后你可以像这样创建机器代码:

g++ file1.cc -c
g++ file2.cc -c

这将导致出现两个新文件:file1.o 和 file2.o。

接下来,您可以像这样链接它们:

g++ file1.o file2.o -o file.exe

这将生成 file.exe,您可以运行的最终可执行文件。

关于c++ - 如何修复错误 : g++. exe:无法使用 -c 或 -S 指定 -o 以及多次编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54246556/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com