我想./configure
链接到一个库和一些包含文件。我的库存储在 中/home/foo/sw/lib/
,我的文件存储在 中/home/foo/sw/include
。
./configure --help
抛出以下内容:
一些有影响的环境变量:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
我尝试过各种组合:
./configure --prefix=/home/foo/sw -I</home/foo/sw/include> -L</home/foo/sw/lib/>
./configure --prefix=/home/foo/sw -I=/home/foo/sw/include -L=/home/foo/sw/lib/
./configure --prefix=/home/foo/sw -I/home/foo/sw/include -L/home/foo/sw/lib/
etc..
但我似乎无法正确理解语法。如果有人能帮助我,我将不胜感激。谢谢!
答案1
你错过了
一些有影响力的环境变量:
因此,您可以将它们设置为环境变量;configure 通过检查配置文件和环境来确定 LDFLAGS 和 CPPFLAGS。您可以像这样设置它们...
export CPPFLAGS='-I/home/foo/sw/include/'
export LDFLAGS='-L/home/foo/sw/lib/'
./configure
或者一行代码:
env CPPFLAGS='-I/home/foo/sw/include/' LDFLAGS='-L/home/foo/sw/lib/' ./configure
请注意,您可能无法使用/home/foo/sw/lib/
放入你的库/home/foo/sw/lib/bar/
可能会显示lib not found
错误。
但是您可以使用多个条目:
LDFLAGS="-L/home/foo/sw/lib/ -L/home/foo/bar/lib/"