threaden mit boost
-
ich habe vor wegen einer rechenintensiven funktion einmal das threaden bzw. aufteilen auf meine 2 prozessorkerne auzuprobieren.
leider habe ich ein problem, das dieses beispiel zeigen soll:void test() { for(int i = 0; i <= 100000; i++) { cout<<i<<endl; } } int main(int argc, char *argv[]) { boost::thread thread1(&test ); return EXIT_SUCCESS; }testchecker.cpp:(.text+0x10c): undefined reference to `boost::thread::thread(boost::function0<void, std::allocator<boost::function_base> > const&)' testchecker.cpp:(.text+0x13f): undefined reference to `boost::thread::~thread()'irgendwie habe ich nicht die geringste anhnung, warum dieses einfache beispiel nicht funktionieren will?!
-
weil der linker die thread lib nicht einbindet.
-
boost::fred schrieb:
weil der linker die thread lib nicht einbindet.
Schimpf doch nicht so auf den Linker, der kann das doch gar nicht wissen, wenn man es ihm nicht sagt.
-
hmm, weiß jemand wie man die libs unter kdevelop einbinden kann?
-
debora schrieb:
void test() { for(int i = 0; i <= 100000; i++) { cout<<i<<endl; } } int main(int argc, char *argv[]) { boost::thread thread1(&test ); return EXIT_SUCCESS; }vor dem Programmende sollte man noch ein join spendieren, sonst wird der Prozess beendet, bevor der Thread beendet ist. Also:
int main(int argc, char *argv[]) { boost::thread thread1(&test ); thread1.join(); return 0; }Gruß
Werner
-
... ok ich habs jetzt^^