Compile errors when using libcurl in combination with curlpp

1k Views Asked by At

I want to send an http POST request to a server using libcurl and cURLpp. 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.
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
1

There are 1 best solutions below

1
On

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.

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. Although I can't really explain for what you should look as I'm not too experienced with dlls and Visual Studio.

For a more concrete answer please provide some information how you've included curlpp into your project/into visual studio.