使用CMake链接项目中的curl

Luu*_*sen 4 c++ curl cmake curlpp

我没有使用C++的经验,只需要对C++应用程序进行一些小调整就可以执行HTTP请求来验证用户身份.

Curlpp是一个选项,但是当包含库时,我在构建时遇到错误:

Undefined symbols for architecture x86_64:
  "curlpp::OptionBase::OptionBase(CURLoption)", referenced from:
      app_idomsconnector::RTMPAppProtocolHandler::GetAuthPassword(std::string) in libidomsconnector.a(rtmpappprotocolhandler.cpp.o)
      curlpp::OptionTrait<std::string, (CURLoption)10002>::clone() const in libidomsconnector.a(rtmpappprotocolhandler.cpp.o)
Run Code Online (Sandbox Code Playgroud)

据我所知,我需要在CMAKELists.txt文件中添加/链接库.谁能告诉我究竟需要添加什么?(运行OSX 10.8)正如我所提到的,我没有使用C++的经验,因为我大多数时候都使用Java.

小智 9

据我所知,我需要在CMAKELists.txt文件中添加/链接库.

这正是你要做的:)

在C++中,当您将库包含到项目中时,可以使用两种文件:

  • 头文件,其中声明符号的名称(如单词列表)
  • 代码所在的目标文件(如实际定义单词的字典)

(这有点简化,但这里并不重要)

错误消息告诉您不向编译器提供目标文件,因此它不知道您在项目中使用的某些单词(类和函数)是什么意思.

如果要构建名为"MyExecutable"的可执行文件,则必须具有类似的行

add_executable(MyExecutable ......)

在你的CMakeLists.txt中.

在此行之后,尝试添加

target_link_libraries(MyExecutable curlpp)

我已经有一个带有"MyExecutable"的target_link_libraries行,只需将curlpp添加到其他库中.