我在我的简单生成文件中链接库 boost 和 curl 时遇到问题。当我使用单个命令时:
g++ -I /usr/lib/boost/include -L /usr/lib/boost/lib website.cpp website.h main.cpp data.cpp data.h -lboost_regex -lcurl
一切都很好,但是当我使用 makefile
a.out: website.o data.o main.o
g++ -L /usr/lib/boost/lib -lboost_regex website.o data.o main.o -o a.out -lcurl
data.o: data.cpp data.h
g++ -c data.cpp -o data.o
website.o: website.cpp website.h
g++ -I /usr/lib/boost/include -c website.cpp -o website.o
main.o: main.cpp
g++ -c main.cpp -o main.o
我有很多错误:
g++ -c main.cpp -o main.o
g++ -L /usr/lib/boost/lib -lboost_regex website.o data.o main.o -o a.out -lcurl
website.o: In function boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(char const*, char const*, unsigned int)':
website.cpp:(.text._ZN5boost11basic_regexIcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE6assignEPKcS7_j[boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(char const*, char const*, unsigned int)]+0x22): undefined reference to `boost::basic_
我在 website.cpp 中使用 boost 和 curl(当然标题在 website.h 中)。