Autor
|
Tema: [C++]Cpr - cURL para humanos (Leído 4,101 veces)
|
Poyoncio
|
Acabo de encontrar esta maravillosa API inspirada en mi amada requests de python https://github.com/whoshuu/cprY estoy teniendo problemas para utilizarla. Antes de nada decir que yo suelo editar los programas con gedit o SublimeText y compilo con g++. El problema esta en que nunca e tocado nada de ficheros "make" o algo asi que siempre se sale si usas un entorno como CodeBlocks. El problema es que no entiendo que tengo que hacer para utilizar esta libreria. Es decir hay una carpeta llamada include, he descargado esa carpeta y puesta en la misma carpeta que mi fichero, y me da siempre errores. No acabo de entender la documentacion para usar la libreria alguien me podria hechar una mano? Casi nunca he usado librerias externas asi que no tengo ni idea del tema.
|
|
« Última modificación: 15 Septiembre 2016, 16:40 pm por Poyoncio »
|
En línea
|
Curso de ensamblador desde cero
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.705
🏴 Libertad!!!!!
|
Tienes que agregar parametros de linkeo al compilador esto es: g++ -o test test.cpp `curl-config --cflags` `curl-config --libs` si ejecutas te deberia de devolver algo -lcurl -L/usr/..... Eso es lo que falta para incluir el Curl
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Sin make, puedes simplemente crear un proyecto con otro IDE (Code::Blocks por ejemplo), meter los archvios cpp y h en él, y compilar. No debería darte mucho problema. Si te los da, pon por aquí.
Al proyecto puedes meterle directamente tu main. Si quieres tener las librerías como tales, basta que cojas los archvios .o que suele generar el IDE.
|
|
|
En línea
|
|
|
|
Poyoncio
|
Tienes que agregar parametros de linkeo al compilador esto es: g++ -o test test.cpp `curl-config --cflags` `curl-config --libs` si ejecutas te deberia de devolver algo -lcurl -L/usr/..... Eso es lo que falta para incluir el Curl Trato de ejecutar lo que me dices y solo me genera errores. La parte de me devuelve bash: curl-config: no se encontró la orden he hecho un apt-get install curl pero estoy en las mismas.. Lo tengo ya instalado. Sin make, puedes simplemente crear un proyecto con otro IDE (Code::Blocks por ejemplo), meter los archvios cpp y h en él, y compilar. No debería darte mucho problema. Si te los da, pon por aquí.
Al proyecto puedes meterle directamente tu main. Si quieres tener las librerías como tales, basta que cojas los archvios .o que suele generar el IDE.
Que es eso de los archivos .o? He tratado tambien de incluir todas las cabeceras .h sacandolas de la carpeta y ejecutando: #include "cpr.h" int main(int argc, char** argv) { auto r = cpr::Get(cpr::Url{"https://api.github.com/repos/whoshuu/cpr/contributors"}, cpr::Authentication{"user", "pass"}, cpr::Parameters{{"anon", "true"}, {"key", "value"}}); r.status_code; // 200 r.header["content-type"]; // application/json; charset=utf-8 r.text; // JSON text string }
Seguramente sera algo sencillo pero no caigo en que es e descargado la carpeta de aqui: https://github.com/whoshuu/cpr/tree/master/include/cpry me genera un error muy grande,solo pongo el principio, el comando usado es g++ proj.cpp -o proj: Tambien he probado con el comando de alberto y sigue dando un error similar. In file included from /usr/include/c++/4.9/future:35:0, from api.h:5, from cpr.h:4, from proj.cpp:2: /usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. #error This file requires compiler and library support for the \ ^ In file included from api.h:8:0, from cpr.h:4, from proj.cpp:2: auth.h:13:28: error: expected ‘,’ or ‘...’ before ‘&&’ token Authentication(UserType&& username, PassType&& password) ^ auth.h:17:33: error: expected ‘;’ at end of member declaration const char* GetAuthString() const noexcept; ^ auth.h:17:39: error: ‘noexcept’ does not name a type const char* GetAuthString() const noexcept; ^ auth.h: In constructor ‘cpr::Authentication::Authentication(UserType)’: auth.h:14:24: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 : username_{CPR_FWD(username)}, password_{CPR_FWD(password)}, ^ In file included from auth.h:6:0, from api.h:8, from cpr.h:4, from proj.cpp:2: defines.h:6:22: error: ‘forward’ is not a member of ‘std’ #define CPR_FWD(...) ::std::forward<decltype(__VA_ARGS__)>(__VA_ARGS__) ^ auth.h:14:25: note: in expansion of macro ‘CPR_FWD’ : username_{CPR_FWD(username)}, password_{CPR_FWD(password)}, ^ auth.h:14:33: error: ‘username’ was not declared in this scope : username_{CPR_FWD(username)}, password_{CPR_FWD(password)}, ^ defines.h:6:46: note: in definition of macro ‘CPR_FWD’ #define CPR_FWD(...) ::std::forward<decltype(__VA_ARGS__)>(__VA_ARGS__) ^ defines.h:6:57: error: there are no arguments to ‘decltype’ that depend on a template parameter, so a declaration of ‘decltype’ must be available [-fpermissive] #define CPR_FWD(...) ::std::forward<decltype(__VA_ARGS__)>(__VA_ARGS__)
|
|
« Última modificación: 15 Septiembre 2016, 17:18 pm por Poyoncio »
|
En línea
|
Curso de ensamblador desde cero
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. Pon "-std=c++11". No sé qué IDE utilizas. En Code::Blocks, irías a "Opciones -> Compilador" y ahí en la lista de checkboxes, marcarías "Have g++ follow the C++11 ISO C++ language standar [-std=c++11]" Y bueno, "un error muy grande". Lee los errores y fíjate qué dicen xD Sino, pues eso, postea los siguientes errores.
|
|
|
En línea
|
|
|
|
Poyoncio
|
Pon "-std=c++11". No sé qué IDE utilizas. En Code::Blocks, irías a "Opciones -> Compilador" y ahí en la lista de checkboxes, marcarías "Have g++ follow the C++11 ISO C++ language standar [-std=c++11]"
Y bueno, "un error muy grande". Lee los errores y fíjate qué dicen xD Sino, pues eso, postea los siguientes errores.
Pues hasta ahora solo utilizaba sublime text (y compilaba con g++) porque code::blocks no me acaba de convencer, pero lo he probado alli ahora y le he cambiado lo que comentas y ya "solo" me da 2 errores, a lo de grande me referia a muy largo que me ocupaba como diez terminales lo que he posteado es un trozito comparado con lo que retornaba voy a seguir investigando un poco, si consigo solucionarlo lo comentare por aqui este es el mensaje de error que me da ahora, voy a mirarlo durante un rato haber si puedo solucionarlo -------------- Build file: "no target" in "no project" (compiler: unknown)--------------- g++ -std=c++11 -c /home/windows-vista/Documentos/C++/dprrrr/cpr/main.cpp -o /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o g++ -o /home/windows-vista/Documentos/C++/dprrrr/cpr/main /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `main': main.cpp:(.text+0x60): referencia a `cpr::Parameters::Parameters(std::initializer_list<cpr::Parameter> const&)' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `cpr::Response cpr::Get<std::string, cpr::Authentication, cpr::Parameters>(std::string&&, cpr::Authentication&&, cpr::Parameters&&)': main.cpp:(.text._ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_[_ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_]+0x23): referencia a `cpr::Session::Session()' sin definir main.cpp:(.text._ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_[_ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_]+0x75): referencia a `cpr::Session::Get()' sin definir main.cpp:(.text._ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_[_ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_]+0x82): referencia a `cpr::Session::~Session()' sin definir main.cpp:(.text._ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_[_ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_]+0x93): referencia a `cpr::Session::~Session()' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `std::map<std::string, std::string, cpr::CaseInsensitiveCompare, std::allocator<std::pair<std::string const, std::string> > >::operator[](std::string&&)': main.cpp:(.text._ZNSt3mapISsSsN3cpr22CaseInsensitiveCompareESaISt4pairIKSsSsEEEixEOSs[_ZNSt3mapISsSsN3cpr22CaseInsensitiveCompareESaISt4pairIKSsSsEEEixEOSs]+0x90): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `void cpr::priv::set_option<std::string>(cpr::Session&, std::string&&)': main.cpp:(.text._ZN3cpr4priv10set_optionISsEEvRNS_7SessionEOT_[_ZN3cpr4priv10set_optionISsEEvRNS_7SessionEOT_]+0x2a): referencia a `cpr::Session::SetOption(std::string const&)' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, cpr::CaseInsensitiveCompare, std::allocator<std::pair<std::string const, std::string> > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator<std::pair<std::string const, std::string> >, std::string const&)': main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_]+0xa1): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_]+0x147): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_]+0x202): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_]+0x2dd): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_]+0x386): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o:main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSA_PSt13_Rb_tree_nodeIS2_E[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSA_PSt13_Rb_tree_nodeIS2_E]+0x5e): más referencias a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir a continuación /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `void cpr::priv::set_option<cpr::Authentication>(cpr::Session&, cpr::Authentication&&)': main.cpp:(.text._ZN3cpr4priv10set_optionINS_14AuthenticationEEEvRNS_7SessionEOT_[_ZN3cpr4priv10set_optionINS_14AuthenticationEEEvRNS_7SessionEOT_]+0x2a): referencia a `cpr::Session::SetOption(cpr::Authentication const&)' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `void cpr::priv::set_option<cpr::Parameters>(cpr::Session&, cpr::Parameters&&)': main.cpp:(.text._ZN3cpr4priv10set_optionINS_10ParametersEEEvRNS_7SessionEOT_[_ZN3cpr4priv10set_optionINS_10ParametersEEEvRNS_7SessionEOT_]+0x2a): referencia a `cpr::Session::SetOption(cpr::Parameters&&)' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, cpr::CaseInsensitiveCompare, std::allocator<std::pair<std::string const, std::string> > >::_M_lower_bound(std::_Rb_tree_node<std::pair<std::string const, std::string> >*, std::_Rb_tree_node<std::pair<std::string const, std::string> >*, std::string const&)': main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS2_ESB_RS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS2_ESB_RS1_]+0x38): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, cpr::CaseInsensitiveCompare, std::allocator<std::pair<std::string const, std::string> > >::_M_get_insert_unique_pos(std::string const&)': main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE24_M_get_insert_unique_posERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE24_M_get_insert_unique_posERS1_]+0x5c): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE24_M_get_insert_unique_posERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE24_M_get_insert_unique_posERS1_]+0x11b): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir collect2: error: ld returned 1 exit status Process terminated with status 1 (0 minute(s), 1 second(s)) 2 error(s), 0 warning(s) (0 minute(s), 1 second(s)) -------------- Build file: "no target" in "no project" (compiler: unknown)--------------- g++ -std=c++11 -c /home/windows-vista/Documentos/C++/dprrrr/cpr/main.cpp -o /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o g++ -o /home/windows-vista/Documentos/C++/dprrrr/cpr/main /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `main': main.cpp:(.text+0x60): referencia a `cpr::Parameters::Parameters(std::initializer_list<cpr::Parameter> const&)' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `cpr::Response cpr::Get<std::string, cpr::Authentication, cpr::Parameters>(std::string&&, cpr::Authentication&&, cpr::Parameters&&)': main.cpp:(.text._ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_[_ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_]+0x23): referencia a `cpr::Session::Session()' sin definir main.cpp:(.text._ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_[_ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_]+0x75): referencia a `cpr::Session::Get()' sin definir main.cpp:(.text._ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_[_ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_]+0x82): referencia a `cpr::Session::~Session()' sin definir main.cpp:(.text._ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_[_ZN3cpr3GetIISsNS_14AuthenticationENS_10ParametersEEEENS_8ResponseEDpOT_]+0x93): referencia a `cpr::Session::~Session()' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `std::map<std::string, std::string, cpr::CaseInsensitiveCompare, std::allocator<std::pair<std::string const, std::string> > >::operator[](std::string&&)': main.cpp:(.text._ZNSt3mapISsSsN3cpr22CaseInsensitiveCompareESaISt4pairIKSsSsEEEixEOSs[_ZNSt3mapISsSsN3cpr22CaseInsensitiveCompareESaISt4pairIKSsSsEEEixEOSs]+0x90): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `void cpr::priv::set_option<std::string>(cpr::Session&, std::string&&)': main.cpp:(.text._ZN3cpr4priv10set_optionISsEEvRNS_7SessionEOT_[_ZN3cpr4priv10set_optionISsEEvRNS_7SessionEOT_]+0x2a): referencia a `cpr::Session::SetOption(std::string const&)' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, cpr::CaseInsensitiveCompare, std::allocator<std::pair<std::string const, std::string> > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator<std::pair<std::string const, std::string> >, std::string const&)': main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_]+0xa1): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_]+0x147): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_]+0x202): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_]+0x2dd): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_]+0x386): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o:main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSA_PSt13_Rb_tree_nodeIS2_E[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSA_PSt13_Rb_tree_nodeIS2_E]+0x5e): más referencias a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir a continuación /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `void cpr::priv::set_option<cpr::Authentication>(cpr::Session&, cpr::Authentication&&)': main.cpp:(.text._ZN3cpr4priv10set_optionINS_14AuthenticationEEEvRNS_7SessionEOT_[_ZN3cpr4priv10set_optionINS_14AuthenticationEEEvRNS_7SessionEOT_]+0x2a): referencia a `cpr::Session::SetOption(cpr::Authentication const&)' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `void cpr::priv::set_option<cpr::Parameters>(cpr::Session&, cpr::Parameters&&)': main.cpp:(.text._ZN3cpr4priv10set_optionINS_10ParametersEEEvRNS_7SessionEOT_[_ZN3cpr4priv10set_optionINS_10ParametersEEEvRNS_7SessionEOT_]+0x2a): referencia a `cpr::Session::SetOption(cpr::Parameters&&)' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, cpr::CaseInsensitiveCompare, std::allocator<std::pair<std::string const, std::string> > >::_M_lower_bound(std::_Rb_tree_node<std::pair<std::string const, std::string> >*, std::_Rb_tree_node<std::pair<std::string const, std::string> >*, std::string const&)': main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS2_ESB_RS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS2_ESB_RS1_]+0x38): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir /home/windows-vista/Documentos/C++/dprrrr/cpr/main.o: En la función `std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, cpr::CaseInsensitiveCompare, std::allocator<std::pair<std::string const, std::string> > >::_M_get_insert_unique_pos(std::string const&)': main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE24_M_get_insert_unique_posERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE24_M_get_insert_unique_posERS1_]+0x5c): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir main.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE24_M_get_insert_unique_posERS1_[_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_EN3cpr22CaseInsensitiveCompareESaIS2_EE24_M_get_insert_unique_posERS1_]+0x11b): referencia a `cpr::CaseInsensitiveCompare::operator()(std::string const&, std::string const&) const' sin definir collect2: error: ld returned 1 exit status Process terminated with status 1 (0 minute(s), 1 second(s)) 2 error(s), 0 warning(s) (0 minute(s), 1 second(s))
Comienzo a pensar que igual no es error de compilador ni nada por el estilo, sino que es algo que falta por meterle al proyecto PD: Gracias por la paciencia, que dios os vendiga con 14 hijos y 20 mujeres
|
|
« Última modificación: 15 Septiembre 2016, 22:53 pm por Poyoncio »
|
En línea
|
Curso de ensamblador desde cero
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Estás compilando el main solo. Te decía que hicieras un proyecto, porque Code::Blocks (como casi cualquier IDE) se encarga de ver qué archivos tiene que compilar y en qué orden. Si quieres utilizar una librería que no está compilada, tienes que compilarla. Para ello, tienes que compilar por separado cada archivo .cpp de la librería. Esas compilaciones, generarán un archivo de código objeto (generalmente .o). Luego, hay que enlazar todos estos archivos .o (incluido el del main) para generar el archivo ejecutable. Los errores que tienes indican que hay funciones que se nombran, pero cuyo código no se encuentra. main.cpp:(.text+0x60): referencia a `cpr::Parameters::Parameters(std::initializer_list<cpr::Parameter> const&)' sin definir El constructor Parameters se utiliza, pero no está compilado en ningún lugar. Si estuviera el .cpp compilado, encontraría esa función en el .o. Tienes varias opciones. Una es, crear un proyecto con Code::Blocks, meter todos los archivos, y dejar que se encargue Code::Blocks. La otra, es compilar cada archivo .cpp de la librería. Para ello, en resumen: lib1.cpp, lib2.cpp, main.cpp
g++ -std=c++11 -c lib1.cpp -o lib1.o g++ -std=c++11 -c lib2.cpp -o lib2.o g++ -std=c++11 -c main.cpp -o main.o g++ lib1.o lib2.o main.o -o main.exe
|
|
|
En línea
|
|
|
|
Poyoncio
|
Estás compilando el main solo. Te decía que hicieras un proyecto, porque Code::Blocks (como casi cualquier IDE) se encarga de ver qué archivos tiene que compilar y en qué orden. Si quieres utilizar una librería que no está compilada, tienes que compilarla. Para ello, tienes que compilar por separado cada archivo .cpp de la librería. Esas compilaciones, generarán un archivo de código objeto (generalmente .o). Luego, hay que enlazar todos estos archivos .o (incluido el del main) para generar el archivo ejecutable. Los errores que tienes indican que hay funciones que se nombran, pero cuyo código no se encuentra.El constructor Parameters se utiliza, pero no está compilado en ningún lugar. Si estuviera el .cpp compilado, encontraría esa función en el .o. Tienes varias opciones. Una es, crear un proyecto con Code::Blocks, meter todos los archivos, y dejar que se encargue Code::Blocks. La otra, es compilar cada archivo .cpp de la librería. Para ello, en resumen: lib1.cpp, lib2.cpp, main.cpp
g++ -std=c++11 -c lib1.cpp -o lib1.o g++ -std=c++11 -c lib2.cpp -o lib2.o g++ -std=c++11 -c main.cpp -o main.o g++ lib1.o lib2.o main.o -o main.exe Pero son ficheros .h.... Lo que he hecho ha sido meter esos ficheros .h en "add file to project" es decir lo meto como si estuviera todo dentro del proyecto y me sigue dando esos errores. No me peges porfavor pero soy demasiado inutil en estas cosas....... Tambien estoy pensando en que alomejor tengo que añadir algo de esto, pero esque no entiendo nada de que se tiene que añadir: http://imgur.com/aTJUNLlCreo que al final me decantare por curl me estoy ya cansando, un poco de todo este tema... Me hace perder mucho tiempo... y tampoco es plan que me lo tengais que solucionar todo... Y muchas gracias por tu tiempo
|
|
« Última modificación: 16 Septiembre 2016, 20:10 pm por Poyoncio »
|
En línea
|
Curso de ensamblador desde cero
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Los .cpp tambien los tienes que meter al proyecto.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
CURL para actualizar Tuenti (PHP)
Scripting
|
pato3_3
|
0
|
2,215
|
2 Febrero 2012, 13:30 pm
por pato3_3
|
|
|
cURL para HTTPS problemas con SSL
PHP
|
#Aitor
|
2
|
4,542
|
9 Enero 2014, 21:16 pm
por #Aitor
|
|
|
Web proxy para usar curl con el
PHP
|
moikano→@
|
0
|
1,678
|
21 Abril 2014, 00:03 am
por moikano→@
|
|
|
Hacer cURL en respuesta de cURL para posterior scraping.
PHP
|
goditozor
|
3
|
4,711
|
1 Septiembre 2014, 20:32 pm
por WHK
|
|
|
El Pentágono planea probar controles telepáticos en humanos para la defensa ...
Noticias
|
wolfbcn
|
3
|
1,154
|
7 Junio 2019, 19:24 pm
por Serapis
|
|