Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

library, b builder 6

[es] :: C/C++ programiranje :: library, b builder 6

[ Pregleda: 2701 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

erkan
Sarajevo

Član broj: 12339
Poruke: 267
*.team.ba.

ICQ: 238530669


Profil

icon library, b builder 616.08.2006. u 11:09 - pre 214 meseci
Pozdav svima,

ovu sam temu vec postavio na C++ za pocetnike, ali mislim da sam promasio
tako da je ponavljam ovdje. Moderatorima se izvinjavam .

Volio bih da ubacim jedan library u svoj projekat. Imam LIB biblioteku
i nakon sto odradim add->Project (ili jednostavno rucno dodam path za library)
ja i dalje ne mogu pristupiti klasama niti funkcijama definisanim u lib-u.
Moze li neko reci kako da to odradim...

pozdrav


Samo se budala saplice na kamen iza sebe.
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.55.*



+9 Profil

icon Re: library, b builder 616.08.2006. u 11:15 - pre 214 meseci
Moraš dodati prototipe tih funkcija i klasa u svoj program. Najbolje ti je kada radiš LIB da sve njegove prototipe funkcija i klasa spremiš u zasebnu H (header) datoteku i samo ju dodaš

#include "MojLIB.h"

u programu gdje to želiš koristiti.
 
Odgovor na temu

erkan
Sarajevo

Član broj: 12339
Poruke: 267
*.team.ba.

ICQ: 238530669


Profil

icon Re: library, b builder 616.08.2006. u 14:07 - pre 214 meseci
ok, zahvaljujem.
Probao sm i radi ali bez prototipova.
Ono sto sam promasio je da kad ukljucim neki header fajl koji je
iz libraria onda javlja gresku. Rjesenje je bilo da se u include
path-u projekta postave putevi koje LIB koristi.
Poz.



Samo se budala saplice na kamen iza sebe.
 
Odgovor na temu

erkan
Sarajevo

Član broj: 12339
Poruke: 267
*.team.ba.

ICQ: 238530669


Profil

icon Re: library, b builder 6, Unresolved external17.08.2006. u 07:11 - pre 214 meseci
hm, i dalje imam problem...
kada definisem promjenljive npr pointer na klasu
koja je iz LIB-a, onda je ok i kompajlira se, medjutim
kada pokusam da instanciram klasu javi se masa gresaka
pri linkovanju: Unresolved external ...ime funkcije ... referenced from... i navede ime funkcije
clanice klase... (krene od destruktora i konstruktora i onda navede
sve metode koji pripadaju klasi)



[Ovu poruku je menjao erkan dana 17.08.2006. u 08:28 GMT+1]
Samo se budala saplice na kamen iza sebe.
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.55.*



+9 Profil

icon Re: library, b builder 617.08.2006. u 07:48 - pre 214 meseci
Moraš dodati prototipe funkcija i klasa iz LIB-a. Nemoj se zavaravati da to ne treba. Mislim da se u nekim situacijama treba dodati i ključna riječ extern ispred nekih izjava, no zaboravio sam točno gdje, pa pokušaj i to dodati ispred nekih deklaracija...
 
Odgovor na temu

erkan
Sarajevo

Član broj: 12339
Poruke: 267
*.team.ba.

ICQ: 238530669


Profil

icon Re: library, b builder 617.08.2006. u 13:17 - pre 214 meseci
Da u pravu si....
Ovako,
posto mi nije uspjelo onda sam napravio svoj library sa klasom jednom
i sa jednom funkcijom koja nije clanica klase.
Nakon sto dodam LIB fajl u svoju primitivnu aplikaciju (dugmic samo)
i pozvem funkciju iz LIB-a to radi ok... (naravno, prvo sam postavio prototip funkcije)
Medjutim kada pozovem klasu onda nastaje problem.
Kada napravim pointer klase i kompajliram onda je OK (naravno jer ima prototip i ocekuje
da klasa postoji), medjutim, kada napravim nesto konkretno sa tim pointerom, recimo
kreiram instancu klase onda je problem

Code:

// prototip
extern void MsgFromLibFunction();
class myLibClass;
...
MsgFromLibFunction(); // funkcija iz librarija
myLibClass *clsLib = NULL; // klasa iz librarija
clsLib = new myLibClass(); // OVDJE JE PROBLEM




greska koju dobijam je
Code:

[C++ Error] SImpleForm.cpp(40): E2450 Undefined structure 'myLibClass'


Jos da dodam da mi je ova stva pocela jesti zivce :)

[Ovu poruku je menjao erkan dana 17.08.2006. u 14:30 GMT+1]
Samo se budala saplice na kamen iza sebe.
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.55.*



+9 Profil

icon Re: library, b builder 617.08.2006. u 13:51 - pre 214 meseci
Jesi probao dodati extern i ispred definicije klase?
 
Odgovor na temu

erkan
Sarajevo

Član broj: 12339
Poruke: 267
*.team.ba.

ICQ: 238530669


Profil

icon Re: library, b builder 617.08.2006. u 14:10 - pre 214 meseci
U prototipu jesam ali nece, evo ponovo sam pokusao
i evo greske:
Code:
[C++ Error] SImpleForm.cpp(18): E2092 Storage class 'extern' is not allowed here
.
...
Cijeli problem rjesava ukljucivanje header fajla iz LIB-a, ali u tom slucaju ne vidim
svrhu LIB fajla. Sta ce mi LIB ako mogu direktno ukljuciti header-e i koristiti klase definisane u cpp fajlovima?!
Samo se budala saplice na kamen iza sebe.
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.55.*



+9 Profil

icon Re: library, b builder 617.08.2006. u 14:12 - pre 214 meseci
U tome i jest stvar. Ti iz header-a vučeš samo definicije klasa i funkcija, dok se njihova tijela nalaze u LIB-u, a to je ono što je bitno.
 
Odgovor na temu

gosha
Zemun

Član broj: 2384
Poruke: 589
*.dynamic.sbb.co.yu.



+40 Profil

icon Re: library, b builder 617.08.2006. u 14:27 - pre 214 meseci
Pa javlja ti gresku jer kompajler ne moze da nadje definiciju klase, stavio si samo prototip.
Izbaci prototip i stavi #include od klase.

Kad ti javi greska "Unresolved external" onda nisi dobro podesio path-ove ili nisi ukljucio lib u linker opcijama.


Poz. Gosha.
JokeJunky :)

Mrzim sublimirane marketinske poruke.
 
Odgovor na temu

erkan
Sarajevo

Član broj: 12339
Poruke: 267
*.team.ba.

ICQ: 238530669


Profil

icon Re: library, b builder 617.08.2006. u 14:31 - pre 214 meseci
Da, izgleda da ste u pravu.
Probao sam da promjenim ime cpp fajla, ponovo izbildao projekat
bez problema i radi.
Hvlaa puno i pozdrav. Nadam se da je ovo kraj misterije sa LIB-om :)
Samo se budala saplice na kamen iza sebe.
 
Odgovor na temu

[es] :: C/C++ programiranje :: library, b builder 6

[ Pregleda: 2701 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.