[英]c++ compiling problem
我正在嘗試編譯一個c ++程序,這是我很久沒做的事情......
我正在嘗試的是:
g++ -c A.cpp -o A.o
g++ -c dir/B.h -o B.o
這似乎工作,然后我嘗試:
g++ A.o B.o -o A -lX11 -lpthread
得到:
Bo:文件無法識別:文件格式無法識別
collect2:ld返回1退出狀態
問題是什么?
非常感謝 :)
在編譯bh時省略-o參數,你可能會看到g ++創建了一個名為bhgch而不是bo的文件。該文件是一個“預編譯的頭文件”。 通過在bo中重命名,您可以隨后調用g ++來關於文件的內容。 如果bh是頭文件,那么你應該將它包含在a.cpp中。 如果bh包含函數定義,則應將其重命名為b.cpp。
g++ -c dir/B.h -o B.o
為什么要編譯頭文件?
我假設A.cpp包含dir / Bh - 因此您不需要單獨的編譯器調用來編譯頭。
您正在編譯頭文件。 沒有好處可以來。 :-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.