如何为配置脚本指定包含目录
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>
。
【讨论】:
--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 中的每个单元格类别指定特定的部分名称
如何为包含所有存储行的现有 SQL Server 表生成 INSERT 脚本?