Compiling

如何在 ./configure 中放置多個 -I、-L 和 -l 標誌?

  • September 17, 2021

我正在嘗試使用./configure.

我有

  1. 三個包含目錄
-I/path1/include
-I/path2/include
-I/path3/include
  1. 兩個連結目錄
-L/path1/lib
-L/path2/lib
  1. 兩個-l標誌選項
-ltensorflow
-lasan
  1. 兩個編譯標誌
-O3
-g

我怎樣才能有效地將所有這些標誌作為選項放入./configure

執行此操作的規範方法是為呼叫中的各種變數提供值:./configure

./configure CPPFLAGS="-I/path1/include -I/path2/include -I/path3/include" \
           CFLAGS="-O3 -g" \
           LDFLAGS="-L/path1/lib -L/path2/lib" \
           LIBS="-ltensorflow -lasan"

如果使用 C++ 編譯器,請指定CXXFLAGS而不是(或除了)CFLAGS

這些變數也可以在環境中設置,但推薦的做法是將它們指定為命令行參數,以便將它們的值儲存起來以供重複使用。有關詳細資訊,請參閱配置編譯時強制覆蓋(例如 CXXFLAGS 等)

請注意,在大多數情況下,將這麼多路徑指定為標誌是不尋常的。相反,我希望找到--with選項來告訴configure腳本在哪裡可以找到各種依賴項。例如,--with-tensorflow=/path/to/tensorflow這將導致設置適當的-I-L標誌。跑

./configure --help

查看可用的選項。

引用自:https://unix.stackexchange.com/questions/669463