[ marko_81 @ 04.09.2009. 09:53 ] @
Na sledecim linkovima sam nasao kod od kojeg treba da napravim dll biblioteku.

timesupport.cc
timesupport.h

Pokusao sam da napravim u Visual Studio 2008 ali bez uspeha.
Zna li neko kako da kreiram dll biblioteku za ovo?
[ deerbeer @ 04.09.2009. 10:34 ] @
Citat:
marko_81:
Pokusao sam da napravim u Visual Studio 2008 ali bez uspeha.

Sta si pokusao pa nije uspelo ?

Ne bi trebao da imas problem u kompajliranju , jer su u fajlovima standardni c++ headeri ,
a pritom nisu ukljuceni nikakvi dodatni iz common direktorijuma ,
ili mozda ti ovaj include "#include "common/timesupport.h" ne radi jer nije ispravna putanja tj. nemas common dir u projektu .
Ili imas problem sa exportom f-ja iz dll-a ?



[ marko_81 @ 04.09.2009. 10:48 ] @
Isao sam tako sto sam u VS kreirao Win32 console application. Za tip aplikacije odabrao sam DLL i kreirao sam ga kao emty project.
Zatim sam dodao .cpp i .h fajlove.
Include direktivu #include "common/timesupport.h" sam prepravio na #include "timesupport.h".
To se lepo iskompajliralo i dobio sam dll. E taj dll treba da dodam u php.ini kao extension. Kad sam ga dodao nije htelo da radi. Sad nisam siguran da li sam ja dobro iskompajlirao dll ili je nesto drugo u pitanju.
[ deerbeer @ 04.09.2009. 10:58 ] @
Verovatno nisi exportovao f-ije za taj dll ..
Kreiraj sve ispocetka pa umesto empty project opcije izaberi export symbols ,
pa pogledaj glavni header fajl i primer sto je izgenerisao vs .
A celu pricu da bi bolje shvatio imas ovde

[ Mihajlo Cvetanović @ 04.09.2009. 11:04 ] @
Napravi novi dll projekat, ali da ima već neke default funkcije (da ne bude prazan). Dobićeš i jedan .def fajl. U tom fajlu treba da stoje funkcije koje želiš da eksportuješ u dll-u. Sad obriši ono što je vizard ubacio, ubaci svoj .cc, i unesi u .def imena onih funkcija koje ti trebaju.

Moguće je da čak ni tad neće da radi, jer ne znamo šta tačno php očekuje. Da bi proverio koje su funkcije u napravljenom dll-u koristi program Dependency Walker (moguće je da ga već imaš u alatima Visual Studia). Funkcije u dll-u mogu biti u nekoliko formata, tj. mogu biti dekorisane ili nedekorisane, i mogu biti cdecl ili stdcall. Sad je pitanje šta tebi treba za php.

Spominješ php extension. Ne razumem se u php ekstenzije ali moguće je da moraju da imaju neki naročiti skup funkcija koje moraju da podržavaju.
[ Eurora3D Team @ 06.09.2009. 01:27 ] @
Koliko ja mogu da vidim sa strane na kojoj je kod ta dva fajla su deo neke vece celine (mozda nekog apache modula ... nalaze se u common folderu)
U kodu nigde nemas dllexport za eksportovanje funkcija ...
Tako da funkcije nisu eksportovane i nijedan program nece moci da ih koristi.
Na stranu ovo, ali ovo sto ti je @Mihajlo Cvetanović napisao je najvaznije po mom misljenju. Verovatno apache moduli treba da budu napravljeni po odredjenom sablonu (sa tacno odredjenim funkcijama) tako da i ako eksportujes ove fn neces dobiti efekat u apache serveru.
Prouci ceo taj projekat / modul jer izgleda da je resenje daleko od toga da samo iskompajlujes 2 fajla i sve je ok. Verovatno ces morati da iskompajlujes sve.



[Ovu poruku je menjao Eurora3D Team dana 06.09.2009. u 17:12 GMT+1]
[ nikoladsp @ 14.09.2009. 10:20 ] @
probaj sa ovim projektom - uradjen je u VS2005, ali ne bi trebalo da imas problema da ga importujes