我正在尝试编译一个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退出状态
问题是什么?
非常感谢 :)
在编译bh时省略-o参数,你可能会看到g ++创建了一个名为bhgch而不是bo的文件.该文件是一个"预编译的头文件".通过在bo中重命名,您可以随后调用g ++来关于文件的内容.如果bh是头文件,那么你应该将它包含在a.cpp中.如果bh包含函数定义,则应将其重命名为b.cpp.