我正在使用autoconf和automake进行C ++项目,我希望当我的源代码已经有了
时,g ++会足够聪明地查看/usr/include/<library-name>
#include <libxml/xpath.h>
#include <libxml/xpathInternals.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
#include <curl/curl.h>
#include <openssl/md5.h>
当我刚刚运行./configure && make
时,我收到此错误
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -O2 -g -O2 -MT azurefs.o -MD -MP -MF .deps/azurefs.Tpo -c -o azurefs.o azurefs.cpp
azurefs.cpp:33:26: fatal error: libxml/xpath.h: No such file or directory
compilation terminated
我必须以这种方式使用CCXXFLAGS
包含库路径
$ CXXFLAGS=-I/usr/include/libxml2 ./configure && make
有没有更好的方法来编写我的代码,Makefile或autoconf文件,以便g ++在/usr/include/<library-name>
中正确查找库?
答案 0 :(得分:2)
在我的Makefile.am中,我有以下行添加g ++参数:
AM_CPPFLAGS = -I$(top_srcdir)/src/include/ --std=c++0x
我认为你需要这样的东西:
AM_CPPFLAGS = `pkg-config --cflags libxml-2.0`
因此,您也不必担心包含在另一个系统中的位置。