boost::thread crash
-
Hallo,
ich hatte eigentlich vor threads in meinem Projekt zu verwenden,
doch leider stecke ich noch ganz am Anfang fest...Ich habe mit dem webinstaller von boost alle libs/dlls/sourcefiles für Visual Studio 2005 runtergeladen.
Sprich ich habe schon alles in kompilierter Form vorliegen.Meine Testanwendung läuft als Multithreaded-Debug-DLL (/MDd)
und verlangt somit die libboost_thread-vc80-mt-gd-1_34_1.lib, welche ich auch gelinkt habe.Das ganze Programm lässt sich ohne Probleme kompilieren und sieht wie folgt aus:
#include <iostream> #include <boost/thread/thread.hpp> void Test() { std::cout << "Hello world, I'm a thread!" << std::endl; } int main() { boost::thread thrd(&Test); thrd.join(); std::cin.get(); return 0; }Wenn ich das Programm starte ploppt die Konsole auf und crasht danach sofort.
Hier ein Screenshot vom Callstack, den loaklen Variablen und der Codestelle, wo der Fehler auftritt.
http://img403.imageshack.us/my.php?image=blubrb6.pngIch hab echt keine Idee mehr woran das nun liegen könnte.
Habe auch schon Multithreaded-Debug mit der passenden lib ausprobiert, selbes Problem.Es scheint wohl irgend ein allgemeines Problem zu sein.
Ich nehm aber mal stark an das es an meinen settings oder so liegen muss, da die boost threads sicherlich nicht so einen krassen Fehler drin haben werden ^^Ich hoffe das mir jmd. helfen kann oder hilfreiche Tipps reichen auch schon, hauptsache ich habe einen neuen Ansatz.
-
Hm. Du hast also die 1.34.1. Mit der hab ich noch nix gemacht, aber mit der 1.34 hatte ich noch kein solches Problem.
IMO ist es allerdings immer gut sich LIBs selbst zu compilieren - vielleicht ist die Boost Version die du runtergeladen hast mit SP1 compiliert und du hast SP1 nicht drauf - oder umgekehrt...?
Ansonsten, dein Code sieht OK aus.
-
So ich habe nun auch mal den installer für die Version 1.34 runtergeladen und hab mal alles installiert.
Selbes Problem...
Und dabei sollte das ja eigentlich funzen, laut dokumentation. ^^Gut, dann führt wohl kein weg dran vorbei,
ich werd mich mal dran versuchen die libs alle selbst zu kompilieren.Aber jedenfalls schonmal thx für den Hinweis.
Btw: Ich habe das SP1 für VS installiert.
-
So ich habe nun mal alles selber kompiliert.
Es konnte alles erstellt werden bis auf die Thread libs.
Lag letztendlich daran das er einige Header nicht gefunden hatte, warum das weiß ich immer noch nicht so genau.Jedenfalls hab ich es so hingebogen das ich sie trotzdem erstellen konnte und nun kann ich die Threads verwenden ohne das was crasht.
Also vielen Dank nochmal für den Hinweis.