我没有 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)
据我了解,我需要在 CMAKELists.txt 文件中添加/链接库。有人能告诉我到底需要添加什么吗? (运行 OSX 10.8)正如我提到的,我没有使用 C++ 的经验,因为我大部分时间都使用 Java。
据我了解,我需要在 CMAKELists.txt 文件中添加/链接库。
这正是你必须做的:)
在 C++ 中,当您将库包含到项目中时,可以使用两种文件:
- 头文件,其中声明符号名称(如单词列表)
- 目标文件,代码所在的位置(就像实际定义单词的字典)
(这有点简化,但这里并不重要)
错误消息告诉您,您没有向编译器提供目标文件,因此它不知道您在项目中使用的某些单词(类和函数)的含义。
如果您正在构建一个名为MyExecutable
,你必须有一行像
add_executable(MyExecutable ...)
in your CMakeLists.txt
.
在此行之后,尝试添加
target_link_libraries(MyExecutable curlpp)
如果您已经有target_link_libraries()
线为MyExecutable
目标,只需添加curlpp
到其他图书馆。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)