如何为配置脚本指定包含目录

Posted

技术标签:

【中文标题】如何为配置脚本指定包含目录【英文标题】:How to specify include directory for configure script 【发布时间】:2011-04-26 21:53:38 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

/some/dir/ 包含您的标头。

【讨论】:

CXXFLAGS 用于 C++ 编译器,因此 CFLAGS 用于 C 编译器。【参考方案2】:

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

【讨论】:

中有什么内容? @Chara: 不管--help告诉你什么。【参考方案3】:
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++ 使用包含目录,但不能同时使用两者。在这种情况下,使用 CFLAGS 或 CXXFLAGS 显然会更好地为您服务。

【讨论】:

【参考方案4】:

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

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

【讨论】:

以上是关于如何为配置脚本指定包含目录的主要内容,如果未能解决你的问题,请参考以下文章

如何为 UITableView 中的每个单元格类别指定特定的部分名称

如何为第三方 Ruby 脚本包含 Gem

如何为包含所有存储行的现有 SQL Server 表生成 INSERT 脚本?

如何为指定文件夹创建和保存包含完整文件和文件夹层次结构的 XML 文件?

如何为 popen 指定工作目录

如何为非Spring Boot的Java应用程序指定外部配置文件