include, kako?

include, kako?

offline
  • Pridružio: 11 Maj 2005
  • Poruke: 871
  • Gde živiš: Aleksinac - Niš

Verovatno je banalno pitanje ali imam problema sa ukljucivanjem biblioteka.

Stavim npr:

  1. #include "curl.h"


i sve se lepo iskompajlira ali kad treba da idem na build izbaci mi ovakve greske:

  1. Compiling resources...
  2. Linking...
  3. crClass.obj : error LNK2019: unresolved external symbol __imp__curl_easy_cleanup referenced in function "enum CURLcode __cdecl grabPage(char *)" (?grabPage@@YA?AW4CURLcode@@PAD@Z)
  4. crClass.obj : error LNK2019: unresolved external symbol __imp__curl_easy_perform referenced in function "enum CURLcode __cdecl grabPage(char *)" (?grabPage@@YA?AW4CURLcode@@PAD@Z)
  5. crClass.obj : error LNK2019: unresolved external symbol __imp__curl_easy_setopt referenced in function "enum CURLcode __cdecl grabPage(char *)" (?grabPage@@YA?AW4CURLcode@@PAD@Z)
  6. crClass.obj : error LNK2019: unresolved external symbol __imp__curl_easy_init referenced in function "enum CURLcode __cdecl grabPage(char *)" (?grabPage@@YA?AW4CURLcode@@PAD@Z)

Znaci kad treba da pozove f-je te biblioteke on se zbuni. Bebee Dol

Stavio sam da curl.h bude u istom dir-u kao i moj projekat a dll sam stavio i u system32 i u isti dir i opet nista.
Nije samo problem u ovom curl.h, mnogo drugih biblioteka izbacuje isto.
A ono sto me najvise muci je sto iostream ne radi. Lepo napisem:
  1. #include <iostream>


i kad posle koristim cout i cin uopste ih ne prepoznaje...
error C2065: 'cout' : undeclared identifier!!!
A napisem bas kao sto pise u MSDN-u.

Verovatno gresim u necemu osnovnom ili nisam nesto podesio.
Imam Visual Studio 2005 na XP-u sp2.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Peca  Male
  • Glavni Administrator
  • Predrag Damnjanović
  • SysAdmin i programer
  • Pridružio: 17 Apr 2003
  • Poruke: 23211
  • Gde živiš: Niš

trebas da linkujes biblioteku, tamo pod Options / Compiler negde, nacices polje gde trebas da dopises libcurl.



offline
  • Pridružio: 11 Maj 2005
  • Poruke: 871
  • Gde živiš: Aleksinac - Niš

procesljao sam options i nigde nema Compiler-a.
A imas li ideju zasto iostream ne radi? To je ipak jedna od najcesce koriscenih biblioteka.
Kad kreiram projekat izaberem Empty project, da mozda ne treba nesto drugo?

Dopuna: 16 Jan 2007 19:32

Resio sam problem sa cout.
Stavio sam:
using namespace std;
Ali problem sa ostalim bibliotekama jos nisam.
Nasao sam u project properties Linker ali opet nema opcije da povezem sa nekom bibliotekom ili ja ne znam gde je.

Dopuna: 18 Jan 2007 13:46

Delimicno sam resio problem.
Nasao sam drugu verziju biblioteke koja sadrzi i curl.lib i povezao sam ga u linker-u>command line i u Tools>options>projects>VC++ directories postavio sam direktorijume include files i lib files.
ALI...
sada dobijam drugu gresku i to od moje klase:

  1. ------ Rebuild All started: Project: crawler2, Configuration: Debug Win32 ------
  2. Deleting intermediate and output files for project 'crawler2', configuration 'Debug|Win32'
  3. Compiling...
  4. glavna2.cpp
  5. moj_string.cpp
  6. crClass.cpp
  7. Generating Code...
  8. Compiling resources...
  9. Linking...
  10. glavna2.obj : error LNK2019: unresolved external symbol "public: enum CURLcode __thiscall crClass::grabPage(char *)" (?grabPage@crClass@@QAE?AW4CURLcode@@ PAD@Z) referenced in function _main
  11. D:\Rezanje\crawler2\crawler2\Debug\crawler2.exe : fatal error LNK1120: 1 unresolved externals
  12. Build log was saved at " file://d:\Rezanje\crawler2\crawler2\crawler2\Debug\BuildLog.htm"
  13. crawler2 - 2 error(s), 0 warning(s)
  14. ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

evo i klase koja poziva ovu grugu klasu:
  1. //glavna2.cpp
  2. #include "crClass.h"
  3. //#include "moj_string.h"
  4. #include <curl.h>
  5. //#include <easy.h>
  6. #include <iostream>
  7.  
  8. using namespace std;
  9.  
  10.  
  11. int main()
  12. {
  13.     CURLcode nesto;
  14.     crClass obj;
  15.     char *url="http://www.mycity.rs";
  16.     nesto=obj.grabPage(url);
  17.     cout<<nesto;
  18.    
  19.     return 0;
  20. }

Moja klasa (crClass.h):
  1. #include "moj_string.h"
  2. #include <process.h>
  3. #include "curl.h"
  4.  
  5. class crClass
  6. {   
  7. public:
  8.     moj_string str1;
  9.     crClass();
  10.     CURLcode grabPage(char *url);
  11.     ~crClass();
  12. };
  13.  
  14. crClass.cpp:
  15.  
  16. #include <iostream>
  17. #include "crClass.h"
  18.  
  19. using namespace std;
  20.  
  21. crClass::crClass()
  22. {
  23.        
  24. }
  25. crClass::~crClass()
  26. {
  27.     str1.~moj_string();
  28. }
  29. CURLcode grabPage(char *url)
  30. {
  31.     CURL *curl;
  32.     CURLcode page;
  33.     curl = curl_easy_init();
  34.     curl_easy_setopt(curl, CURLOPT_URL, url);
  35.     page=curl_easy_perform(curl); /* ignores error */
  36.     curl_easy_cleanup(curl);
  37.  
  38.   return page;
  39. }

Ova druga moja klasa moj_string uopste ne pravi probleme a ova koja poziva cURL pravi.
Mislim da ne prepoznaje tip CURLcode ali ukljucio sam curl.h pa me zbunjuje zasto nece.

offline
  • Peca  Male
  • Glavni Administrator
  • Predrag Damnjanović
  • SysAdmin i programer
  • Pridružio: 17 Apr 2003
  • Poruke: 23211
  • Gde živiš: Niš

a linkovao si curl.lib ?

offline
  • Pridružio: 11 Maj 2005
  • Poruke: 871
  • Gde živiš: Aleksinac - Niš

Jesam. Isao sam u project properties>configuration properties>linker>command line i tu sam dodao curl.lib
A postavio sam i u preprocessor definitions libcurl.
Nasao sam podesavanje ali za neki drugi lib pa sam na osnovu toga radio: [Link mogu videti samo ulogovani korisnici]
Tad je prestao da mi izbacuje one greske ali pojavila se ova nova Smile

Dopuna: 01 Feb 2007 19:14

E pa konacno sam sredio ovaj program...
Odem kod jednog asistenta i gledamo kod pola sata - sve izgleda ok a ne radi... dolazi drugi asistent, baca pogled i kaze a pa nisi stavio crClass:: ...
Neverovatno sta nisam video Bebee Dol
Tako da kod sada izgleda ovako:

  1. CURLcode crClass::grabPage(char *url)
  2. {
  3.     CURL *curl;
  4.     CURLcode page;
  5.     curl = curl_easy_init();
  6.     curl_easy_setopt(curl, CURLOPT_URL, url);
  7.     page=curl_easy_perform(curl); /* ignores error */
  8.     curl_easy_cleanup(curl);
  9.  
  10.   return page;
  11. }

Ko je trenutno na forumu
 

Ukupno su 1157 korisnika na forumu :: 14 registrovanih, 0 sakrivenih i 1143 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: comi, elzike7, Ezbuck, grunff2, JankoS, ljubo70, mikidragi, N95, Slingshot, superwhy, taomaster, TheDictator, vukajlo71, Zorge