我对curlpp库有问题。我将解释我遵循的步骤。
下载网站:下载
$./configure
$make
$sudo make install
#include <curlpp/cURLpp.hpp>
#include <curlpp/Easy.hpp>
#include <curlpp/Options.hpp>
#include <curlpp/Exception.hpp>
using namespace std;
int main()
{
char *url = (char*) "http://dbpedia.org/sparql";
string queryString = "PREFIX dbp: <http://dbpedia.org/resource/> "
"PREFIX dbp2: <http://dbpedia.org/ontology/> "
"SELECT ?abstract "
"WHERE { "
"dbp:Nikola_Tesla dbp2:abstract ?abstract . "
"FILTER langMatches(lang(?abstract), 'en')"
"}";
try
{
curlpp::Easy request;
string parameters = "query=" + curlpp::escape(queryString);
request.setOpt(new curlpp::options::Url(url));
request.setOpt(new curlpp::options::Verbose(true));
request.setOpt(new curlpp::options::PostFields(parameters));
request.perform();
}
catch (curlpp::RuntimeError & e)
{
std::cout << e.what() << std::endl;
}
catch (curlpp::LogicError & e)
{
std::cout << e.what() << std::endl;
}
return 0;
}//end function main
失误
如图所示添加-lcurlpp后:我得到以下错误:
g ++ -LSQLiteCpp-master / debug -o bin / Debug / EntityLinking obj / Debug / DataLoader.o obj / Debug / Entity.o obj / Debug / Fact.o obj / Debug / FactClass.o obj / Debug / Link.o obj /Debug/main.o obj / Debug / ManageDb.o obj / Debug / SQLiteCpp-master / sqlite3 / sqlite3.o obj / Debug / tinyxml / tinystr.o obj / Debug / tinyxml / tinyxml.o obj / Debug / tinyxml / tinyxmlerror.o obj / Debug / tinyxml / tinyxmlparser.o -lpthread -ldl -lcurlpp SQLiteCpp-master / debug / libSQLiteCpp.a / usr / bin / ld:obj / Debug / main.o:ref er symbole nondéfini«curl_easy_setopt @ @ CURL_OPENSSL_3»//usr/lib/x86_64-linux-gnu/libcurl.so.4:错误添加符号:命令行collect2中缺少DSO:错误:ld返回1退出状态进程以状态1终止(0分钟) ,0秒)0错误,0警告(0分钟,0秒)
-lcurlpp
编译和链接代码时需要链接。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句