Getting error while linking with g++
I try to compile and link my application in 2 steps :
Compiling:
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
Linking:
g++ -o myApp file1.o file2.o file3.o
I'm getting a link error as following:
file1.o: file not recognized: File format not recognized
collect2: ld returned 1 exit status
Am i doing somethin开发者_运维问答g wrong ?
Thanks
You should not be mentioning your header file on the command line - you don't want to compile it directly, but only as it is included in your source files. also, I would let the compiler name the object files, as it's too easy to make a typo when doing this explicitly. So your compilation commands should look like:
g++ -c file1.cc
and you can then also say:
g++ -c file1.cc file2.cc file3.cc
No need to include header files in your input files list
g++ -c -o file1.o file1.cc
精彩评论