我下载并安装了APR和APR-util C库,但我无法在项目中使用它们我一直在收到以下错误(我在Linux Mint上):未定义的引用到已安装的APR C库
undefined reference to `apr_pool_initialize'
undefined reference to `apr_pool_create_ex'
etc...
我的库最初安装到/ usr/local/APR。起初我以为,这个文件只是不在我的CC包括路径我复制/ APR /目录到/ usr /本地/ include和/ usr /包括的这是在包括路径,但我得到了完全相同的错误。我尝试添加的lib文件夹中/ APR /成/etc/ld.so.conf.d/,然后运行ldconfig命令所推荐的网站我从做项目,但没有任何帮助。我以为我可能安装不当,所以我redid它,但也没有帮助。我很茫然。如果有人能帮我解决这个问题,我会非常感激。作为参考,这是安装脚本我用:
set -e
cd /tmp
curl -L -O http://archive.apache.org/dist/apr/apr-1.4.6.tar.gz
tar -xzvf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure
make
sudo make install
cd /tmp
rm -rf apr-1.4.6 apr-1.4.6.tar.gz
curl -L -O http://archive.apache.org/dist/apr/apr-util-1.4.1.tar.gz
tar -xzvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
./configure --with-apr=/usr/local/apr
make
sudo make install
cd /tmp
rm -rf apr-util-1.4.1* apr-1.4.6*
这是我使用的Makefile,所有的分离是标签:
PREFIX?=/usr/local
CFLAGS=-g -Wall -I${PREFIX}/apr/include/apr-1 -
I${PREFIX}/apr/include/apr-util-1 -D_LARGEFILE64_SOURCE=1
LDFLAGS=-L${PREFIX}/apr/lib -lapr-1 -pthread -laprutil-1
all: devpkg
devpkg: bstrlib.o db.o shell.o commands.o
install: all
install -d $(DESTDIR)/$(PREFIX)/bin/
install devpkg $(DESTDIR)/$(PREFIX)/bin/
clean:
rm -f *.o
rm -f devpkg
rm -rf *.dSYM
我怀疑与'LDFLAGS'一个问题,该连接器找不到的功能。您确认'APR的-1'和'libaprutil-1'库的名字和他们的存在? –
你尝试过用gcc手动编译代码,以确保你正确设置的标志吗? – bruceg
我证实APR的-1和libaprutil-1的存在和名字,但如果我尝试编译我的文件单独我得到类似的错误: 致命错误:apr_general.h:没有这样的文件或目录 编译终止。 – aprdrivesmecrazy