Avatar billede viht Nybegynder
17. oktober 2002 - 17:20 Der er 31 kommentarer og
1 løsning

CORBA i Dev-c++

Hej.

Jeg er ved at lave et java server objekt der skal tilgås fra c++.
Hele java siden er komplet og kørende, men jeg kan ikke kompilere c++ source filerne. Det er den klassiske:
[Linker error] undefined reference to 'omni::duplicateObjRef(omniObjRef *)'. +mange flere.
Den genererer samme fejl for alle linierne der har noget med CORBA at gøre i min c++ source fil.

Jeg bruger omniORB og includer libraries'ne "omniORB3.a og omnithread.a"
Avatar billede soreno Praktikant
17. oktober 2002 - 17:32 #1
du skal også linke til de libs (det er ikke nok at include dem).
i project options er der vist noget der hedder add library eller lign. prøv at tilføj de 2 til dit projekt.
Avatar billede viht Nybegynder
17. oktober 2002 - 17:36 #2
Det det jeg gør, jeg tilføjer -lomniORB3 og -lomnithread til kompilerens parametre.
Avatar billede soreno Praktikant
17. oktober 2002 - 17:38 #3
hvor har du fået fat i det corba api henne ?
Avatar billede viht Nybegynder
17. oktober 2002 - 17:39 #4
Avatar billede soreno Praktikant
17. oktober 2002 - 17:44 #5
Avatar billede viht Nybegynder
17. oktober 2002 - 17:47 #6
Ja, der står ikke noget om mingw og linking, desværre. Jeg tror problemet ligger deri.
Avatar billede soreno Praktikant
17. oktober 2002 - 17:52 #7
hehe, hvad har du gjort af "omniORB3.a og omnithread.a" - ligger de i et dir som mingw søger i (mingw\lib\*)?
Avatar billede viht Nybegynder
17. oktober 2002 - 17:53 #8
Ja, de ligger i \Dev-cpp\lib\.
Den kan også fint finde dem.. ellers klager compilere nemlig. Det er ikke et problem med at FINDE libraries'ne.
Avatar billede viht Nybegynder
17. oktober 2002 - 17:58 #9
Er du blank?
Avatar billede soreno Praktikant
17. oktober 2002 - 18:05 #10
jeg er lige ved at hente version4 :-)
Avatar billede soreno Praktikant
17. oktober 2002 - 18:14 #11
..og version3.. - hvis du linker med "omniORB3.a" så bruger du jo nok v3.. ?
Avatar billede viht Nybegynder
17. oktober 2002 - 18:15 #12
Ja, jeg bruger den fra den gamle side. Det er vist 3.04
Avatar billede soreno Praktikant
17. oktober 2002 - 18:38 #13
hvordan ved du egentlig de lige er disse 2  "omniORB3.a og omnithread.a" der skal linkes med ?
når jeg kigger i libs i zip filen er der jo 27 libs..
prøv at tilføje et par ekstra, eks:
omniORB305_rt (skift selv med 304 hvis din hedder det.)

alternativt kan du jo prøve at tilføje alle sammen (dem som starter med 'omni' og se om ikke det virker og så bruge udlukkelsesmetoden til at bestemme hvilke der faktisk er nødvendige.
Avatar billede viht Nybegynder
17. oktober 2002 - 18:40 #14
Det har jeg også forsøgt. Jeg har tastet alle libraries ind, men det var samme fejl. Det eksempel jeg laver det ud fra skriver at det er de libs der skal benyttes.
Avatar billede soreno Praktikant
17. oktober 2002 - 18:42 #15
hvordan har du egentlig fået konverteret .lib til .a (de libs der følger med er jo til msvc++)
Avatar billede viht Nybegynder
17. oktober 2002 - 18:47 #16
Jeg har før brugt .lib libs - jeg har brugt wsock32.lib da jeg arbejdede med winsock. Der var ingen problemer.
Avatar billede soreno Praktikant
17. oktober 2002 - 18:53 #17
dvs. du har bare renamed dem eller ?
Avatar billede viht Nybegynder
17. oktober 2002 - 18:56 #18
Nej, jeg brugte wsock32.lib som et .a library. "g++ ... -Lwsock32".
Avatar billede soreno Praktikant
17. oktober 2002 - 19:29 #19
har du et minimalt kompilerklar eks. du kan sende som jeg kan teste med ?
Avatar billede viht Nybegynder
17. oktober 2002 - 19:32 #20
Yup, hvilken adresse kan du modtage det på?
Avatar billede soreno Praktikant
17. oktober 2002 - 19:39 #21
eksp@soreno.dk
Avatar billede viht Nybegynder
17. oktober 2002 - 19:42 #22
Sendt.
Avatar billede soreno Praktikant
17. oktober 2002 - 20:16 #23
jeg er egentlig ret sikker på man ikke kan bruge microsofts .lib sammen med mingw. du skriver du har brugt wsock32 - men det lib er jo også en del af mingw pakken.. ?
Avatar billede soreno Praktikant
17. oktober 2002 - 20:17 #24
(jeg får samme undefined reference som dig - det tyder jo ihvertfald på at der ikke søges i de libs..)
Avatar billede viht Nybegynder
17. oktober 2002 - 20:22 #25
Det er for mærkeligt.. de bruger gcc i eksemplet! Nå, tak for din hjælp.
Avatar billede soreno Praktikant
17. oktober 2002 - 20:23 #26
hvilket eksempel ? dem jeg kiggede på i omniORB305-win32-omniPython\src\examples
bruger msvc++
Avatar billede viht Nybegynder
17. oktober 2002 - 20:32 #27
Det er i en bog. Core java 2 vol. 2.
Avatar billede soreno Praktikant
17. oktober 2002 - 20:38 #28
er det så ikke fordi de bruger linux/unix som platform i bogen?
Avatar billede viht Nybegynder
17. oktober 2002 - 20:43 #29
Det fremgår ikke 100%, desværre. Jeg installerer bare lige msvc++...
Avatar billede soreno Praktikant
17. oktober 2002 - 20:46 #30
der står ihvertfald en fin beskrivelse af hvordan man får det til at spille med msvc i "omniORB305-win32-omniPython.zip\README.win32".
principielt er det vel også muligt selv at lave en make på sourcen - meeen der er sikkert en del tilretning (der er nok en grund til den ikke findes til mingw..) ?
Avatar billede jpk Nybegynder
18. oktober 2002 - 08:45 #31
I VC++ linker jeg med følgende libs, det kan være det kan give dig et hint...

omniORB304_rt.lib
omniDynamic304_rt.lib
omnithread2_rt.lib
Avatar billede viht Nybegynder
05. november 2002 - 16:55 #32
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester