2010-08-02 45 views
3

我想編譯一個包含newmat.h和tinyxml.h的.cpp + .h文件 - 我的libnewmat.a和libtinyxml.a與我的.cpp和.h文件位於同一個目錄中,而我運行使用g ++編譯,我該如何將它指向其他.h文件?

g++ -lnewmat -ltinyxml test.cpp test.h 

但仍在編譯開始處找不到newmat.h和tinyxml.h。我顯然是一個完整的C++新手,因爲這看起來應該是微不足道的。

+2

爲什麼你有test.h在命令行並沒有包含在你的CPP? – djondal 2010-08-02 18:08:24

+0

在命令行中指定.h文件是絕對沒有意義的。它完全沒有任何東西。 – AnT 2010-08-02 18:11:57

+0

如果他的頭文件包含一些可執行代碼(函數定義[不僅聲明]或變量初始化),它可以實現一些東西,你永遠不會知道... – djondal 2010-08-02 18:18:04

回答

2

試試這個:

g++ -lnewmat -ltinyxml -I. test.cpp 

-I.看的頭文件在當前文件夾,包括您所需要的.h在你的.c文件

2

-I開關用於,例如:

g++ -I/usr/include -lnewmat -ltinyxml test.cpp test.h 

如果你想要一個路徑添加到您使用-L庫搜索路徑,例如:

g++ -L/usr/lib -lnewmat -ltinyxml test.cpp test.h 
5

使用-I標誌告訴它要查找包含文件的目錄。

相關問題