c++ - 使用 g++ 链接时出现错误

标签 c++ linux g++ linker compilation

我尝试分两步编译和链接我的应用程序:

编译:

g++ -c -o file1.o file1.cc general_header.h
g++ -c -o file2.o file2.cc general_header.h
g++ -c -o file3.o file3.cc general_header.h

链接:

g++ -o myApp file1.o file2.o file3.o

我收到如下链接错误:

file1.o: file not recognized: File format not recognized
collect2: ld returned 1 exit status

我做错了什么吗?

谢谢

最佳答案

您不应该在命令行上提及您的头文件 - 您不想直接编译它,而只是因为它包含在源文件中。另外,我会让编译器命名目标文件,因为在显式执行此操作时很容易出现拼写错误。所以你的编译命令应该是这样的:

g++ -c file1.cc 

然后你也可以说:

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

关于c++ - 使用 g++ 链接时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2675870/

相关文章:

计算明天日期的 C++ 函数给出今天的日期

c++ - 对不同类型的 expression1 << expression2 进行位位移会影响性能吗?

linux - 仅当存在差异时才通过电子邮件发送两个文件之间的差异输出

c++ - CMake 无法检测 gcc 内置函数,如 sqrt、pow、exp 等

c++ - 在 PATH 中找不到 g++/gcc。 eclipse 。 Windows

c++ - g++ 认为我没有传递引用

python - 在开发和安装时查找 Assets 文件(C++/Python,主要在 Linux 上)

C++:将部分 char 数组转换为 int 的有效方法

linux - 我的密码挑战问题

linux - 从 Linux 命令行写入串行端口