简体   繁体   English

结合使用libcurl和curlpp时发生编译错误

[英]Compile errors when using libcurl in combination with curlpp

I want to send an http POST request to a server using libcurl and cURLpp. 我想使用libcurl和cURLpp向服务器发送http POST请求。 When I try to compile my program, I get these errors. 当我尝试编译程序时,出现这些错误。 I don't think the errors come from libcurl or curlpp so I must have done something wrong. 我认为错误不是来自libcurl或curlpp,所以我一定做错了。
Does someone know a solution? 有人知道解决方案吗?

Severity    Code    Description Project File    Line
Error   C2491   'curlpp::internal::OptionContainer<OptionType>::getValue': definition of dllimport function not allowed Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\internal\optioncontainer.inl 60
Error   C2491   'curlpp::internal::OptionContainer<OptionType>::OptionContainer': definition of dllimport function not allowed  Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\internal\optioncontainer.inl 39
Error   C2491   'curlpp::internal::OptionContainer<OptionType>::OptionContainer': definition of dllimport function not allowed  Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\internal\optioncontainer.inl 45
Error   C2491   'curlpp::internal::OptionContainer<OptionType>::setValue': definition of dllimport function not allowed Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\internal\optioncontainer.inl 53
Error   C2491   'curlpp::internal::OptionContainer<OptionType>::getHandleOptionValue': definition of dllimport function not allowed Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\internal\optioncontainer.inl 67
Error   C2491   'curlpp::internal::OptionSetter<OptionValueType,optionType>::setOpt': definition of dllimport function not allowed  Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\internal\optionsetter.inl    36
Error   C2491   'curlpp::internal::OptionSetter<std::string,optionType>::setOpt': definition of dllimport function not allowed  Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\internal\optionsetter.inl    45
Error   C2491   'curlpp::internal::OptionSetter<std::list<std::string,std::allocator<_Ty>>,optionType>::setOpt': definition of dllimport function not allowed   Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\internal\optionsetter.inl    54
Error   C2491   'curlpp::Option<OT>::Option': definition of dllimport function not allowed  Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   45
Error   C2491   'curlpp::Option<OT>::Option': definition of dllimport function not allowed  Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   52
Error   C2491   'curlpp::Option<OT>::Option': definition of dllimport function not allowed  Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   63
Error   C2491   'curlpp::Option<OT>::~Option': definition of dllimport function not allowed Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   71
Error   C2491   'curlpp::Option<OT>::setValue': definition of dllimport function not allowed    Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   86
Error   C2491   'curlpp::Option<OT>::updateMeToOption': definition of dllimport function not allowed    Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   99
Error   C2491   'curlpp::Option<OT>::clear': definition of dllimport function not allowed   Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   107
Error   C2491   'curlpp::Option<OT>::getValue': definition of dllimport function not allowed    Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   117
Error   C2491   'curlpp::OptionTrait<OptionType,opt>::OptionTrait': definition of dllimport function not allowed    Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   125
Error   C2491   'curlpp::OptionTrait<OptionType,opt>::OptionTrait': definition of dllimport function not allowed    Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   131
Error   C2491   'curlpp::OptionTrait<OptionType,opt>::clone': definition of dllimport function not allowed  Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   139
Error   C2491   'curlpp::OptionTrait<OptionType,opt>::updateHandleToMe': definition of dllimport function not allowed   Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   152
Error   C2491   'curlpp::NoValueOptionTrait<option>::NoValueOptionTrait': definition of dllimport function not allowed  Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   160
Error   C2491   'curlpp::NoValueOptionTrait<option>::clone': definition of dllimport function not allowed   Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   168
Error   C2491   'curlpp::NotAvailableOptionTrait<OptionType>::NotAvailableOptionTrait': definition of dllimport function not allowed    Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   178
Error   C2491   'curlpp::NotAvailableOptionTrait<OptionType>::NotAvailableOptionTrait': definition of dllimport function not allowed    Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   185
Error   C2491   'curlpp::NotAvailableOptionTrait<OptionType>::clone': definition of dllimport function not allowed  Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   193
Error   C2491   'curlpp::NotAvailableOptionTrait<OptionType>::updateHandleToMe': definition of dllimport function not allowed   Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\curlpp\include\curlpp\option.inl   201
Error   C3867   'std::basic_ostringstream<char,std::char_traits<char>,std::allocator<char>>::str': non-standard syntax; use '&' to create a pointer to member   Projekt1    c:\users\otuser1\documents\visual studio 2015\projects\projekt1\projekt1\main.cpp   203

Looks like the headers try to import from a dll (no CURLPP_STATICLIB defined) but also provide definitions, which they shouldn't do when importing them from a dll. 看起来标头尝试从dll导入( CURLPP_STATICLIB ),但是还提供了定义,而从dll导入标头时则不应该这样做。

Possibly you either need to define CURLPP_STATICLIB before including curlpp headers or you may revise how you set up the library in Visual Studio. 可能您需要在包含curlpp标头之前定义CURLPP_STATICLIB ,或者可以修改在Visual Studio中设置库的方式。 Although I can't really explain for what you should look as I'm not too experienced with dlls and Visual Studio. 尽管由于我对dll和Visual Studio的经验不足,所以我无法真正解释您的外观。

For a more concrete answer please provide some information how you've included curlpp into your project/into visual studio. 有关更具体的答案,请提供一些信息,说明如何将curlpp包含到项目/ Visual Studio中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM