与g ++链接时出错

时间:2010-04-20 14:22:22

标签: 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:文件无法识别:文件格式无法识别
  collect2:ld返回1退出状态

我做错了吗?

由于

2 个答案:

答案 0 :(得分:3)

您不应该在命令行中提到您的头文件 - 您不希望直接编译它,而只是因为它包含在您的源文件中。另外,我会让编译器命名对象文件,因为在显式执行此操作时很容易出错。因此,您的编译命令应如下所示:

g++ -c file1.cc 

然后你也可以说:

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

答案 1 :(得分:2)

无需在输入文件列表中包含头文件

g++ -c -o file1.o file1.cc