簡體   English   中英

c ++編譯問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM