读书人

请问一个Makefile有关问题 多谢大家

发布时间: 2012-12-31 11:57:52 作者: rapoo

请教一个Makefile问题 谢谢大家

g++ -g   -o getuid  util/Asock.o util/basehtmlparser.o util/xml.o util/threadpool.o util/threadjob.o util/findfile.o util/convert.o util/Cookie.o util/crawlerutil.o util/des.o util/md5.o util/md5set.o util/mutex.o util/mysqladmin.o util/parsedate.o util/sock.o util/speeddetector.o util/thread.o util/urlparser.o util/utf8conv.o gzip/bits.o gzip/deflate.o gzip/gzip.o gzip/inflate.o gzip/trees.o gzip/unzip.o gzip/util.o gzip/zip.o LifeConfig.o LogFile.o pop3.o URLEncode.o CommMethod.o UrlFeature.o DnsClient.o cJSON.o mainGetUid.o -lpthread -lssl -liconv -lboost_regex `mysql_config --libs`  -lboost_regex 
util/convert.o: In function `CConvert::EncodingUTF8ToGBK(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/root/code/util/convert.cpp:1375: undefined reference to `RegexExp::regexCharsetUTF8'
/root/code/util/convert.cpp:1387: undefined reference to `RegexExp::regexEncodingUTF8'
util/convert.o: In function `CConvert::EncodingUTF8ToGBK(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/root/code/util/convert.cpp:1315: undefined reference to `RegexExp::regexCharsetUTF8'
/root/code/util/convert.cpp:1327: undefined reference to `RegexExp::regexEncodingUTF8'
collect2: ld returned 1 exit status

很多库在这里啊
[root@339892 ~]# ll /usr/lib/libboo*
-rwxr-xr-x 1 root root 105604 Feb 23 2012 /usr/lib/libboost_date_time.a
lrwxrwxrwx 1 root root 28 Dec 12 19:11 /usr/lib/libboost_date_time.so -> libboost_date_time.so.1.33.1
-rwxr-xr-x 1 root root 57308 Feb 23 2012 /usr/lib/libboost_date_time.so.1.33.1
lrwxrwxrwx 1 root root 28 Dec 12 19:11 /usr/lib/libboost_date_time.so.2 -> libboost_date_time.so.1.33.1
-rwxr-xr-x 1 root root 92368 Feb 23 2012 /usr/lib/libboost_filesystem.a
lrwxrwxrwx 1 root root 29 Dec 12 19:11 /usr/lib/libboost_filesystem.so -> libboost_filesystem.so.1.33.1
-rwxr-xr-x 1 root root 60444 Feb 23 2012 /usr/lib/libboost_filesystem.so.1.33.1
lrwxrwxrwx 1 root root 29 Dec 12 19:11 /usr/lib/libboost_filesystem.so.2 -> libboost_filesystem.so.1.33.1
-rwxr-xr-x 1 root root 46588 Feb 23 2012 /usr/lib/libboost_iostreams.a
lrwxrwxrwx 1 root root 28 Dec 12 19:11 /usr/lib/libboost_iostreams.so -> libboost_iostreams.so.1.33.1
-rwxr-xr-x 1 root root 33888 Feb 23 2012 /usr/lib/libboost_iostreams.so.1.33.1


makefile中的一段内容
INCLUDES = -I./ -I./util/ -I./gzip/ -I./langdetect/ -L/usr/lib `mysql_config --include`
LD_LIB_Common = -lpthread -lssl -liconv -lboost_regex `mysql_config --libs`



#generate exe file=================================================================
TARGET1 = getuid
SRC1 = $(SRC_Common) mainGetUid.cpp

为什么找不到呢 谢谢大家
LD_LIB1 = $(LD_LIB_Common) -lboost_regex
[解决办法]
你没有.
lboost_regex 这个lib呀.
libboost_regex.so

[解决办法]
你确定RegexExp::regexCharsetUTF8是boost_regex库里面的吗?
如果是的,你在convert.cpp有确定RegexExp::regexCharsetUTF8是使用boost库吗(类似using boost::RegexExp::regexVharsetUTF8之类的语句)。
感觉上这里的RegexExp是有特别定义的,你还缺目标文件吧。

读书人网 >C++

热点推荐