我在我的工作场所有一个linux系统,包装漂亮,没有root权限。 我用--prefix=[somewhere in homedir]
编译我需要的源码包。 我的问题是,我不知道如何说服configuration查找特定目录中的头文件。 来源是cpp。 我尝试了与g++
有关的环境variables,并查找标志和谷歌search,但我没有成功。 有人可以帮我解决这个问题吗?
正常的做法是--with-<feature>=<header directory>
。
通常你可以在CXXFLAGS
里传递额外的编译器标志。 对于gcc
你可以用-I/some/dir
指定更多的包含目录,例如
$ ./configure CXXFLAGS="-I/some/dir/"
/some/dir/
包含你的头文件。
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,也可以使用这种方法。
当然,也可能有一些情况,你只希望include目录被C或C ++使用,但不能同时使用。 在这种情况下,使用CFLAGS或CXXFLAGS显然会更好。
最好使用CPPFLAGS来指定包含目录。
./configure CPPFLAGS="-I/your/whatever/includedir"