首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从example00 github编译cURLpp?

如何从example00 github编译cURLpp?
EN

Stack Overflow用户
提问于 2016-04-27 09:01:30
回答 1查看 1.5K关注 0票数 3

我安装了cURLpp,并试图从他们的GitHub回购中编译example.00.cpp。但是,当我运行g++ example00.cpp -o example00时,我得到了以下输出:

/tmp/cc619KAL.o:在函数main': example00.cpp:(.text+0x26): undefined reference tocurlpp中:清除:清除()‘example00.cpp:(.text+0x32):未定义的对curlpp::Easy::Easy()' example00.cpp:(.text+0x93): undefined reference tocurlpp的引用::Easy::perform()’example00.cpp:(.text+0x9f):未定义的对curlpp::Easy::~Easy()' example00.cpp:(.text+0xae): undefined reference tocurlpp的引用::清除:清理:对curlpp::Easy::~Easy()' example00.cpp:(.text+0x10c): undefined reference tocurlpp的未定义引用::Cleanup::对于curlpp::RuntimeError‘/tmp/cc619KAL.o:在函数curlpp::Option<std::string>::~Option()': example00.cpp:(.text._ZN6curlpp6OptionISsED2Ev[_ZN6curlpp6OptionISsED5Ev]+0x49): undefined reference tocurlpp::OptionBase::~OptionBase()’example00.cpp:(.text._ZN6curlpp6OptionISsED2Ev_ZN6curlpp6OptionISsED5Ev+0x6f):中,对curlpp::OptionBase::~OptionBase()' /tmp/cc619KAL.o: In functioncurlpp::Option::Option(CURLoption,的未定义引用std::string &):example00.cpp:(.text._ZN6curlpp6OptionISsEC2E10CURLoptionRKSs_ZN6curlpp6OptionISsEC5E10CURLoptionRKSs+0x21):未定义引用curlpp::OptionBase::OptionBase(CURLoption)' example00.cpp:(.text._ZN6curlpp6OptionISsEC2E10CURLoptionRKSs[_ZN6curlpp6OptionISsEC5E10CURLoptionRKSs]+0x5c): undefined reference tocurlpp::OptionBase::~OptionBase()‘,/tmp/cc619KAL.o:(.rodata._ZTVN6curlpp11OptionTraitISsL10CURLoption10002EEE_ZTVN6curlpp11OptionTraitISsL10CURLoption10002EEE+0x20):未定义引用curlpp::OptionBase::operator<(curlpp::OptionBase const&) const' /tmp/cc619KAL.o:(.rodata._ZTVN6curlpp6OptionISsEE[_ZTVN6curlpp6OptionISsEE]+0x20): undefined reference tocurlpp::OptionBase::operator<(curlpp::OptionBase const&) const’/tmp/cc619KAL.o:(.rodata._ZTIN6curlpp6OptionISsEE_ZTIN6curlpp6OptionISsEE+0x10):未定义引用typeinfo for curlpp::OptionBase' /tmp/cc619KAL.o: In functioncurlpp::UnsetOption::~UnsetOption()':example00.cpp:(.text._ZN6curlpp11UnsetOptionD2Ev_ZN6curlpp11UnsetOptionD5Ev+0x1f):未定义引用curlpp::RuntimeError::~RuntimeError()' /tmp/cc619KAL.o: In functioncurlpp::Option::updateMeToOption(curlpp::OptionBase const&)':example00.cpp:(.text._ZN6curlpp6OptionISsE16updateMeToOptionERKNS_10OptionBaseE_ZN6curlpp6OptionISsE16updateMeToOptionERKNS_10OptionBaseE+0x30):未定义的对typeinfo for curlpp::OptionBase' example00.cpp:(.text._ZN6curlpp6OptionISsE16updateMeToOptionERKNS_10OptionBaseE[_ZN6curlpp6OptionISsE16updateMeToOptionERKNS_10OptionBaseE]+0x5d): undefined reference tocurlpp::UnsetOption::UnsetOption(char const*的引用‘/tmp/cc619KAL.o:函数curlpp::OptionTrait<std::string, (CURLoption)10002>::updateHandleToMe(curlpp::internal::CurlHandle*) const': example00.cpp:(.text._ZNK6curlpp11OptionTraitISsL10CURLoption10002EE16updateHandleToMeEPNS_8internal10CurlHandleE[_ZNK6curlpp11OptionTraitISsL10CURLoption10002EE16updateHandleToMeEPNS_8internal10CurlHandleE]+0x59): undefined reference tocurlpp::UnsetOption::UnsetOption(std::string const&)’/tmp/cc619KAL.o:在函数curlpp::Option<std::string>::getValue() const': example00.cpp:(.text._ZNK6curlpp6OptionISsE8getValueEv[_ZNK6curlpp6OptionISsE8getValueEv]+0x59): undefined reference tocurlpp::UnsetOption::UnsetOption(std中*string const&)‘/tmp/cc619KAL.o:在函数example00.cpp:(.text.ZN6curlpp8internal10CurlHandle6optionIPvEEv10CURLoptionTZN6curlpp8internal10CurlHandle6optionIPvEEv10CURLoptionT+0x45):void curlpp::internal::CurlHandle::option<void*>(CURLoption, void*)': example00.cpp:(.text._ZN6curlpp8internal10CurlHandle6optionIPvEEv10CURLoptionT_[_ZN6curlpp8internal10CurlHandle6optionIPvEEv10CURLoptionT_]+0x2d): undefined reference tocurl_easy_setopt’对curlpp的curlpp::libcurlRuntimeAssert(char const*, CURLcode)' /tmp/cc619KAL.o:(.rodata._ZTIN6curlpp11UnsetOptionE[_ZTIN6curlpp11UnsetOptionE]+0x10): undefined reference to类型信息的未定义引用::RuntimeError‘collect2: error: ld返回1退出状态

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-27 20:26:25

TheWatcher_,您需要同时链接curlpp和curl (将-lcurlpp-lcurl添加到链接器行中)。为了更完整的一步一步,这里是你需要做的。

  1. 从github克隆最新的卷轴。 git克隆https://github.com/jpbarrette/curlpp.git
  2. 进入git目录并准备编译。 cd curlpp ./autogen.sh ./配置
  3. 现在,让我们编译这个库以及所有示例。 制作

摘要中的:库构建后的,将cd放入示例目录,并为任何示例运行以下命令(从make中提取)(用所需的示例号替换00 ):

代码语言:javascript
复制
cd examples
g++ -DHAVE_CONFIG_H -I. -I../include/curlpp  -I../include   -g  -W -Wall -Werror    -I/usr/local/include -MT example00.o -MD -MP -MF .deps/example00.Tpo -c -o example00.o example00.cpp
mv -f .deps/example00.Tpo .deps/example00.Po
/bin/sh ../libtool --silent  --tag=CXX   --mode=link g++  -g  -W -Wall -Werror -I/usr/local/include -L../src/curlpp/ -lcurlpp -static -o example00 example00.o -lstdc++ -lcurl
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36885089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档