1

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 Answer 1

2

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.

Sign up to request clarification or add additional context in comments.

1 Comment

I was getting this error after linking to the CurlPP nuget packaage and compiling in VS2019. Adding #define CURLPP_STATICLIB before the CurlPP includes fixed the error.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.