boost unter NetBeans (win64) nutzen

pointhi

Erfahrenes Mitglied
Hy,

ich arbeite gerade daran boost auf meinem Windows-PC unter NetBeans zum laufen zu bringen. Ich hab schon viele Seiten besucht, ein paar konnten mir auch helfen. Der Code compiliert aber trotzdem noch immer nicht.

http://andres.jaimes.net/718/how-to-install-the-c-boost-libraries-on-windows/

Mit dieser Seite konnte ich die meisten probleme lösen. Auch das problem mit dem Linker-Pfad der bei Netbeans auftritt. Komischerweise hat mingw .a, und keine .lib Files kompiliert, wobei .a eigentlich für Linux vorgesehen sind.

Die Libary ist unter C:/boost/lib compiliert worden.

Beim Linker sind am ende derzeit folgende Argumente:

Code:
-L/boost/lib -lboost_thread-mgw47-mt-1_53 -lboost_system-mgw47-mt-1_53

Dabei kommt folgende Fehlermeldung:

Code:
c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_thread-mgw47-mt-1_53
c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: cannot find -lboost_system-mgw47-mt-1_53

Wenn als Argument nur das übergeben wird:

Code:
-L/boost/lib

tritt folgender Fehler auf:

Code:
build/Debug/MinGW-Windows/main.o: In function `_static_initialization_and_destruction_0':
c:/boost/include/boost-1_53/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()'
c:/boost/include/boost-1_53/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()'
c:/boost/include/boost-1_53/boost/system/error_code.hpp:216: undefined reference to `boost::system::system_category()'
collect2.exe: Fehler: ld gab 1 als Ende-Status zurück

Von Boost will ich die Thread Funktionen nutzen, da ich auf windows entwickle und auf linux (raspberry pi) den code dann nutze.

Ich hoffe das reicht an Infos.

mfg, pointhi
 
Ich hab es geschafft zumindestens die ersten probleme zu beheben:

Code:
-L../../../../../boost/lib -lboost_thread -lboost_system

Es compiliert Fehlerfrei, sobald ich aber eine Thread erstelle kommen folgende Fehlermeldungen:

Code:
build/Debug/MinGW-Windows/main.o: In function `ZN5boost6detail16thread_data_baseC2Ev':
c:/boost/include/boost-1_53/boost/thread/win32/thread_data.hpp:123: undefined reference to `_imp___ZTVN5boost6detail16thread_data_baseE'
build/Debug/MinGW-Windows/main.o: In function `ZN5boost6thread12start_threadEv':
c:/boost/include/boost-1_53/boost/thread/detail/thread.hpp:180: undefined reference to `_imp___ZN5boost6thread21start_thread_noexceptEv'
build/Debug/MinGW-Windows/main.o: In function `ZN5boost6threadD1Ev':
c:/boost/include/boost-1_53/boost/thread/detail/thread.hpp:255: undefined reference to `_imp___ZN5boost6thread6detachEv'
build/Debug/MinGW-Windows/main.o: In function `ZN5boost6detail11thread_dataIPFvvEED1Ev':
c:/boost/include/boost-1_53/boost/thread/detail/thread.hpp:91: undefined reference to `_imp___ZN5boost6detail16thread_data_baseD2Ev'
collect2.exe: Fehler: ld gab 1 als Ende-Status zur?ck

Der gleiche Code funktioniert aber auf Ubuntu,wo ich boost einfach über apt-get installieren konnte.
 
Hi.

Du hast versucht Boost.Thread als Shared Library (DLL) zu verwenden, aber letztendlich die statischen Boost.Thread Bibliothek beim Linken angegeben.

Verwende einfach die libboost_thread-mgw47-mt-1_53.dll.a, sprich -lboost_thread-mgw47-mt-1_53.dll
 

Neue Beiträge

Zurück