gpt4 book ai didi

c++ - 链接到 libresolv 时 undefined reference

转载 作者:行者123 更新时间:2023-11-30 04:37:17 26 4
gpt4 key购买 nike

我有一个项目是一个链接到 libresolv 的库,它在最近的发行版上运行良好:Ubuntu 10.x Fedora 13,Mandriva2010.1 但在 Centos 5.x 上出现以下错误

安装的 glibc 是:glibc-2.5-18.el5_1.1

g++ -DHAVE_CONFIG_H -I.  -I./include -I/usr/include/postgresql  -O3
-ansi -Wall -Wno-deprecated -D_FORTIFY_SOURCE=0 -MT testUpLog.o -MD
-MP -MF .deps/testUpLog.Tpo -c -o testUpLog.o testUpLog.cc
mv -f .deps/testUpLog.Tpo .deps/testUpLog.Po
/bin/sh ./libtool --tag=CXX --mode=link g++ -O3 -ansi -Wall
-Wno-deprecated -D_FORTIFY_SOURCE=0 -L/usr/lib64 -L/lib64
-L/usr/lib64/mysql -o testUpLog testUpLog.o libUpTools.la -lpq
-lmysqlclient -lssl -lpthread
libtool: link: g++ -O3 -ansi -Wall -Wno-deprecated -D_FORTIFY_SOURCE=0
-o .libs/testUpLog testUpLog.o -L/usr/lib64 -L/lib64
-L/usr/lib64/mysql ./.libs/libUpTools.so -lpq -lmysqlclient -lssl
-lpthread
./.libs/libUpTools.so: undefined reference to `__ns_name_uncompress'
./.libs/libUpTools.so: undefined reference to `__ns_initparse'
./.libs/libUpTools.so: undefined reference to `__ns_parserr'
collect2: ld returned 1 exit status
make[1]: *** [testUpLog] Error 1
make[1]: Leaving directory `/tmp/UpTools-8.5.3'
make: *** [check-am] Error 2

library.la 文件包含:

dlname='libUpTools.so.0'
library_names='libUpTools.so.0.0.0 libUpTools.so.0 libUpTools.so'
old_library='libUpTools.a'
inherited_linker_flags=''
dependency_libs=' -L/usr/lib64 -L/lib64 -L/usr/lib64/mysql -lpq
-lmysqlclient -lssl -lpthread'
weak_library_names=''
current=0
age=0
revision=0
installed=no
shouldnotlink=no
dlopen=''
dlpreopen=''
libdir='/usr/lib'

你可以阅读configure.ac

http://pastebin.com/hs5q21Rq

提前致谢

最佳答案

如果 libUpTools 使用函数 lib libresolv,你需要这样说:

libUpTools_la_LIBADD = -lresolv(当然-lresolv可以用configure等决定的变量代替)

这样,-lresolv 将最终出现在 .la 文件和 .so 文件(如果您选择构建它)中,您可以在其上运行 ldd 以进行验证。

关于c++ - 链接到 libresolv 时 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3979540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com