c ++编译问题

3 c++ compilation

我正在尝试编译一个c ++程序,这是我很久没做的事情......

我正在尝试的是:

g++ -c A.cpp  -o A.o

g++ -c dir/B.h -o B.o
Run Code Online (Sandbox Code Playgroud)

这似乎工作,然后我尝试:

g++ A.o B.o -o A -lX11 -lpthread
Run Code Online (Sandbox Code Playgroud)

得到:

Bo:文件无法识别:文件格式无法识别

collect2:ld返回1退出状态

问题是什么?

非常感谢 :)

Wil*_*ell 8

在编译bh时省略-o参数,你可能会看到g ++创建了一个名为bhgch而不是bo的文件.该文件是一个"预编译的头文件".通过在bo中重命名,您可以随后调用g ++来关于文件的内容.如果bh是头文件,那么你应该将它包含在a.cpp中.如果bh包含函数定义,则应将其重命名为b.cpp.