1. 程式人生 > >g++來進行編譯的標頭檔案路徑問題

g++來進行編譯的標頭檔案路徑問題

Linux中用 g++ 來對 .cpp檔案進行編譯的時候,當頭檔案不在系統預設的 /usr/local/include/ 中時,需要為其指定路徑。有如下幾種方法。

方法1、在進行編譯時用 -l 選項來指定路徑:

# /path/to/eigen/ 為eigen標頭檔案的路徑所在。
g++ -I /path/to/eigen/ my_program.cpp -o my_program 

方法2、通過環境變數來設定,這樣就可以不需要在g++ 中來指定了

export CPLUS_INCLUDE_PATH=/path/to/eigen/
g++  my_program.cpp -o my_program

方法3、將eigen標頭檔案建立軟連線到 /usr/local/include/ 目錄下:

sudo cp  /path/eigen/*.h  /usr/local/include/*.h
或者
sudo ln -s  /path/eigen/*.h  /usr/local/include/*.h

然後在編譯即可:
g++ my_program.cpp -o my_program 

方法4、利用cmake來進行編譯:

# 在 CMakeLists.txt 檔案中新增標頭檔案搜尋路徑:
include_directories(/path/to/eigen/)