如何为configure脚本指定include目录

时间:2010-10-18 12:03:28

标签: c++ linux configuration

我的工作场所有一个linux系统,包含很旧的软件包,没有root权限。我正在使用--prefix=[somewhere in homedir]从源代码编译我需要的包。我的问题是,我无法找到如何说服configure在特定目录中查找头文件。来源是cpp。我尝试了与g++相关的环境变量并查找标记和谷歌搜索,但我没有成功。有人可以帮我解决这个问题吗?

4 个答案:

答案 0 :(得分:22)

通常,您可以在CXXFLAGS内传递其他编译器标志。对于gcc,您可以使用-I/some/dir指定更多包含目录,例如

$ ./configure CXXFLAGS="-I/some/dir/"

其中/some/dir/包含您的标题。

答案 1 :(得分:16)

执行此操作的常规方法是--with-<feature>=<header directory>

答案 2 :(得分:7)

CPPFLAGS = C Preprocessor Flags, these flags will be used for C and C++ compilation.

CFLAGS = C Flags, these flags will be used when compiling C.

CXXFLAGS = C++ Flags, these flags will be used when compiling C++.

-I标志指定在编译期间使用的附加包含目录。

通常,在指定包含目录时使用CPPFLAGS是个好主意,这样即使项目有一些编译为C的源,也会使用它。

当然,在某些情况下,您可能只希望C或C ++使用include目录,但不能同时使用两者。在这种情况下,使用CFLAGS或CXXFLAGS显然会更好地服务。

答案 3 :(得分:4)

最好使用CPPFLAGS指定包含目录。

./configure CPPFLAGS="-I/your/whatever/includedir"