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:

#include "curl.h"

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

Compiling resources... Linking... crClass.obj : error LNK2019: unresolved external symbol __imp__curl_easy_cleanup referenced in function "enum CURLcode __cdecl grabPage(char *)" (?grabPage@@YA?AW4CURLcode@@PAD@Z) crClass.obj : error LNK2019: unresolved external symbol __imp__curl_easy_perform referenced in function "enum CURLcode __cdecl grabPage(char *)" (?grabPage@@YA?AW4CURLcode@@PAD@Z) crClass.obj : error LNK2019: unresolved external symbol __imp__curl_easy_setopt referenced in function "enum CURLcode __cdecl grabPage(char *)" (?grabPage@@YA?AW4CURLcode@@PAD@Z) 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:
#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: 23208
  • 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:
------ Rebuild All started: Project: crawler2, Configuration: Debug Win32 ------ Deleting intermediate and output files for project 'crawler2', configuration 'Debug|Win32' Compiling... glavna2.cpp moj_string.cpp crClass.cpp Generating Code... Compiling resources... Linking... glavna2.obj : error LNK2019: unresolved external symbol "public: enum CURLcode __thiscall crClass::grabPage(char *)" (?grabPage@crClass@@QAE?AW4CURLcode@@ PAD@Z) referenced in function _main D:\Rezanje\crawler2\crawler2\Debug\crawler2.exe : fatal error LNK1120: 1 unresolved externals Build log was saved at " file://d:\Rezanje\crawler2\crawler2\crawler2\Debug\BuildLog.htm" crawler2 - 2 error(s), 0 warning(s) ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
evo i klase koja poziva ovu grugu klasu:
//glavna2.cpp #include "crClass.h" //#include "moj_string.h" #include <curl.h> //#include <easy.h> #include <iostream> using namespace std; int main() {     CURLcode nesto;     crClass obj;     char *url="http://www.mycity.rs";     nesto=obj.grabPage(url);     cout<<nesto;         return 0; }
Moja klasa (crClass.h):
#include "moj_string.h" #include <process.h> #include "curl.h" class crClass {    public:     moj_string str1;     crClass();     CURLcode grabPage(char *url);     ~crClass(); }; crClass.cpp: #include <iostream> #include "crClass.h" using namespace std; crClass::crClass() {         } crClass::~crClass() {     str1.~moj_string(); } CURLcode grabPage(char *url) {     CURL *curl;     CURLcode page;     curl = curl_easy_init();     curl_easy_setopt(curl, CURLOPT_URL, url);     page=curl_easy_perform(curl); /* ignores error */     curl_easy_cleanup(curl);   return page; }
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: 23208
  • 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: http://www.algorithmic-solutions.info/leda_manual/DLL_s_MS_Visual1.html
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:
CURLcode crClass::grabPage(char *url) {     CURL *curl;     CURLcode page;     curl = curl_easy_init();     curl_easy_setopt(curl, CURLOPT_URL, url);     page=curl_easy_perform(curl); /* ignores error */     curl_easy_cleanup(curl);   return page; }

Ko je trenutno na forumu
 

Ukupno su 536 korisnika na forumu :: 14 registrovanih, 2 sakrivenih i 520 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: A.R.Chafee.Jr., Andrija357, cetka, djboj, Dukelander, ikan, krkalon, ozzy, RJ, srecko81, suton, Toni, vathra, Vlada1389