Compiling
將 CFLAGS 和 LDFLAGS 添加到“配置”的正確語法是什麼?
我希望使用 OpenVPN 源 tarball 在 OpenBSD 5.5 上安裝 OpenVPN。
根據此處的說明,我必須安裝
lzo
並將
CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
指令添加到“配置”,gcc
否則將找不到它們。我已經廣泛搜尋了有關如何在 OpenBSD 上執行上述操作的指南,但沒有。
這是我打算做的:
- 將源 tarball 解壓到新創建的目錄
- 發出命令
./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
- 發出命令
make
- 發出命令
make install
以下哪個語法是正確的?
./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
或者
./configure --CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
或者
./configure --CFLAGS="-I/usr/local/include" --LDFLAGS="-L/usr/local/lib"
正確的方法是:
./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
但這可能不適用於所有
configure
腳本。最好設置環境變數,例如CPATH
andLIBRARY_PATH
(參見gcc
手冊頁)。一個例子:
export CPATH=/usr/local/include export LIBRARY_PATH=/usr/local/lib export LD_LIBRARY_PATH=/usr/local/lib
例如,在您
.profile
的 中。如果不使用執行路徑,則在共享庫的LD_LIBRARY_PATH
情況下可能需要 (這取決於作業系統、建構工具和使用的選項,但它不應該受到傷害)。