[C/C++] Boost Thread undefined reference join()

posi90

Erfahrenes Mitglied
Hallo,

Ich komme wegen eines Fehlers einfach nicht weiter und habe auch im Google nichts gefunden.

IDE: Codeblocks 10.05
Compiler: MinGW Gcc 4.7.0
OS: Windows 7

C++:
#include <iostream>
#include <stdio.h>
#include <conio.h>

#define _WIN32_WINNT 0x0501
#include <boost/date_time.hpp>
#include <boost/asio.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/thread.hpp>


using namespace std;
using namespace boost;

void work()
{
  for (int i = 0; i < 5; ++i)
  {
	std::cout << i << std::endl;
  }
}

int main(int argc, char* argv[])
{
    boost::thread t(work);
    t.join(); //<- FEHLER BEFINDET SICH HIER
    return 0;
}

Build log:
Code:
obj\Debug\main.o||In function `main':|
C:\Users\Phil\codeblocks\com\main.cpp|42|undefined reference to `__imp___ZN5boost6thread4joinEv'|
obj\Debug\main.o||In function `_ZN5boost6threadD1Ev':|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.0\..\..\..\..\include\boost\thread\detail\thread.hpp|174|undefined reference to `__imp___ZN5boost6thread6detachEv'|
obj\Debug\main.o||In function `_ZN5boost6threadC1IPFvvEEET_NS_10disable_ifINS_14is_convertibleIRS4_NS_6detail13thread_move_tIS4_EEEEPNS0_5dummyEE4typeE':|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.0\..\..\..\..\include\boost\thread\detail\thread.hpp|218|undefined reference to `__imp___ZN5boost6thread12start_threadEv'|
||=== Build finished: 3 errors, 0 warnings ===|

boost_thread und pthread wurden auch gelinkt.

Andere boost Bibliotheken wie date_time, asio, etc. funktionieren einwandfrei.

Freue mich über jeden Tipp.

Danke im Voraus!

mfg. posi90
 
Zuletzt bearbeitet von einem Moderator:
Danke für die Hilfe!

Dachte nicht, dass es so einfach ist.

Folgendes reichte aus, um den Fehler zu beheben:
C++:
#define BOOST_THREAD_USE_LIB

Grundsätzlich solltest du überhaupt erstmal sagen, was du überhaupt gemacht hast.

Meiner Ansicht sind Sourcecode und Buildlog genug um mein Problem genau und vollständig zu beschreiben, welche Information vermisst du?
Geht es um den Boost-Build?

mfg. posi90
 
Zuletzt bearbeitet von einem Moderator:
Meiner Ansicht sind Sourcecode und Buildlog genug um mein Problem genau und vollständig zu beschreiben, welche Information vermisst du?
Das Build-Log ist unvollständig, es fehlen die genauen Befehle mit Compiler- und Linker-Optionen - insbesondere welche Bibliotheken du angegeben hast.

Es gibt bei Code::Blocks die Möglichkeit beim Erstellen auch die Befehle mit anzeigen zu lassen.
 
Zurück