Hi! Ich habe es bereits erfolgreich geschafft unter Ubuntu C-Programme für das Beagleboard mit Angstrom Linux darauf zu kompilieren. Hat mit dieser Hilfe http://groups.google.com/group/beagleboard/browse_thread/thread/cf08b66fd9c9f306 wunderbar funktioniert. Um nun C++ Programm zu kompilieren habe ich unter Eclipse ein C++ Projekt eröffnet und in den Projekt-Properties den g++ Eintrag für den C++-Compiler erweitert. Allerdings erhalte ich jetzt beim Linken einer C++-Klasse, welche von einem anderen cpp-code aufgerufen/verwendet wird, folgenden Fehler über welchen ich trotz suchen in google/foren erfolglos geblieben bin: -> Beim Kompilieren für x86 erscheint kein Fehler, der Code dürfte also in Ordnung sein. **** Build of configuration Release for project BeagleCpp **** make all Building file: ../src/BeagleCpp.cpp Invoking: GCC C++ Compiler /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++ -I/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/BeagleCpp.d" -MT"src/BeagleCpp.d" -o"src/BeagleCpp.o" "../src/BeagleCpp.cpp" Finished building: ../src/BeagleCpp.cpp Building file: ../src/UDPSocket.cpp Invoking: GCC C++ Compiler /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++ -I/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/UDPSocket.d" -MT"src/UDPSocket.d" -o"src/UDPSocket.o" "../src/UDPSocket.cpp" Finished building: ../src/UDPSocket.cpp Building target: BeagleCpp Invoking: GCC C++ Linker /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-gcc -L/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/lib -o"BeagleCpp" ./src/BeagleCpp.o ./src/UDPSocket.o ./src/BeagleCpp.o: In function `main': BeagleCpp.cpp:(.text+0x84): undefined reference to `__cxa_end_cleanup' ./src/BeagleCpp.o:(.ARM.extab+0x0): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status make: *** [BeagleCpp] Error 1 Bitte um Hilfe oder Tipps, Vielen Dank, Thomas
Ich kenne dein System jetzt nicht, aber evtl. liegt es nur daran, daß die C++-Libs nicht automatisch dazu gelinkt werden. 1. Möglichkeit: Wenn du weisst, wo deine Libs liegen (lib...), kannst du ja mal schauen ob es da eine passende gibt, die sich verdächtig anhört und die mit -l... dazu linken. Wenn es da z.B. eine libstdc++.so gibt, wäre die Option -lstdc++. 2. Als Linker nicht wie von dir bisher ...gcc nehmen, sondern ...g++ - der sollte die nötigen Libs für C++ kennen und gleich dazu linken. Thomas S. schrieb: > Building target: BeagleCpp > Invoking: GCC C++ Linker > /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-gcc <= hier g++! > ...
Vielen Dank Klaus!! Möglichkeit 2 wars :-) mit g++ linken hat funktioniert! Danke! Thomas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.