Compiling

將 CFLAGS 和 LDFLAGS 添加到“配置”的正確語法是什麼?

  • September 3, 2020

我希望使用 OpenVPN 源 tarball 在 OpenBSD 5.5 上安裝 OpenVPN。

根據此處的說明,我必須安裝lzo

CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" 指令添加到“配置”,gcc否則將找不到它們。

我已經廣泛搜尋了有關如何在 OpenBSD 上執行上述操作的指南,但沒有。

這是我打算做的:

  1. 將源 tarball 解壓到新創建的目錄
  2. 發出命令
./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
  1. 發出命令make
  2. 發出命令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腳本。最好設置環境變數,例如CPATHand LIBRARY_PATH(參見gcc手冊頁)。

一個例子:

export CPATH=/usr/local/include
export LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH=/usr/local/lib

例如,在您.profile的 中。如果不使用執行路徑,則在共享庫的LD_LIBRARY_PATH情況下可能需要 (這取決於作業系統、建構工具和使用的選項,但它不應該受到傷害)。

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