c++ - 结合使用 libcurl 和 curlpp 时编译错误

标签 c++ visual-studio libcurl curlpp

我想使用 libcurl 和 cURLpp 向服务器发送一个 http POST 请求。 当我尝试编译我的程序时,出现了这些错误。我不认为错误来自 libcurl 或 curlpp,所以我一定做错了什么。
有人知道解决方案吗?

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

最佳答案

看起来 header 试图从 dll 导入(未定义 CURLPP_STATICLIB)但也提供了定义,当从 dll 导入它们时它们不应该这样做。

您可能需要在包含 curlpp header 之前定义 CURLPP_STATICLIB,或者您可以修改在 Visual Studio 中设置库的方式。虽然我不能真正解释你应该看什么,因为我对 dll 和 Visual Studio 不太熟悉。

要获得更具体的答案,请提供一些信息,说明您如何将 curlpp 包含到您的项目/Visual Studio 中。

关于c++ - 结合使用 libcurl 和 curlpp 时编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32072223/

相关文章:

c++ - 指向成员函数问题的指针

c++ - 无法使用包含的头文件中的类

visual-studio - 单击 Web 应用程序中的文本框时,IIS Express 突然停止

.net - 非托管代码中的 Windows 窗体?

php - libCURL::SSL:证书主题名称 'Common Name (eg, YOUR name)' 与目标主机名不匹配...但 CN 和目标名称匹配

macos - 如何使 libcurl 在 Mac 钥匙串(keychain)中查找证书

c++ - 在新线程 C++ 中发送 http 请求

c++ - 标准库/模板容器的 const 语义的经验法则?

c++ - 在一个类中有 "typedef void FuncCharPtr"如何将使用该 typedef 的函数与非静态函数一起使用?

objective-c - Cocoa Objective-C 主循环