[dev-cpp] Boost test klappt nicht !!!



  • Hallo,

    wollte mich jetzt mal mit der Boost Lib beschäftigen.
    Habe es mit Hilfe des Package Manager installert...
    DevPak von hier geladen: http://devpaks.org/show.php?devpak=94

    -Installiert und dann das Beispiel getestet:

    #include <iostream>
    #include <boost/thread/thread.hpp>
    
    using namespace std;
    
    void function1()
    {
    	for(int i=0; i<10000; i++)
    		cout << "huhu: " << i << endl;
    }
    
    void function2()
    {
    	for(int i=0; i<10000; i++)
    		cout << "lala: " << i << endl;
    }
    
    int main()
    {
    	boost::thread t1(&function1); // Thread-Objekt t1 erstellen und function1() starten.
    	function2(); // t1 läuft gleichzeitig weiter, während function2() aufgerufen wird!
    
    return 0;
    }
    

    Und siehe da, lauter Fehlermeldungen:

    2 d:\Dev-Cpp\include\boost\thread\thread.hpp:17,               from D:\Dev-Cpp\bin\test.cpp In file included from d:/Dev-Cpp/include/boost/thread/thread.hpp:17,               from D:\Dev-Cpp\bin\test.cpp 
    
    2 D:\Dev-Cpp\bin\test.cpp                  from D:\Dev-Cpp\bin\test.cpp 
    
    2 D:\Dev-Cpp\bin\test.cpp -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" 
    
    2 d:\Dev-Cpp\include\boost\thread\thread.hpp:21,               from D:\Dev-Cpp\bin\test.cpp In file included from d:/Dev-Cpp/include/boost/thread/thread.hpp:21,               from D:\Dev-Cpp\bin\test.cpp 
    
    2 D:\Dev-Cpp\bin\test.cpp                  from D:\Dev-Cpp\bin\test.cpp 
    
    60 d:\Dev-Cpp\include\boost\thread\mutex.hpp variable or field `do_lock' declared void 
    
    60 d:\Dev-Cpp\include\boost\thread\mutex.hpp expected `;' before '(' token 
    
    61 d:\Dev-Cpp\include\boost\thread\mutex.hpp variable or field `do_unlock' declared void 
    
    61 d:\Dev-Cpp\include\boost\thread\mutex.hpp expected `;' before '(' token 
    
    usw...
    

    Was nun?? 🙄 😞



  • Gib als Compilerswitch -mthreads an.



  • YASC schrieb:

    Gib als Compilerswitch -mthreads an.

    -->Such,Such,Such :::::::: Nix Finden !!!

    Wo kann ich das denn angeben ???????



  • Projekt->Projekt-Optionen->Parameter->C++Compiler->eingeben->OK->Rebuild

    Frei aus dem Englischen übersetzt, kein Anspruch auf Korrektheit



  • 😞 😞 😞 😞

    D:\Dev-Cpp\main.o(.text+0x23a) In function `main':
    
      [Linker error] undefined reference to `_imp___ZN5boost6threadC1ERKNS_9function0IvSaINS_13function_baseEEEE' 
    
      [Linker error] undefined reference to `_imp___ZN5boost6threadD1Ev' 
    
      [Linker error] undefined reference to `_imp___ZN5boost6threadD1Ev' 
    
     D:\Dev-Cpp\main.o(.text+0x23a) ld returned 1 exit status 
    
     D:\Dev-Cpp\Makefile.win [Build Error]  [testi.exe] Error 1
    

    😞 😞 😞 😞



  • mit "libboost_thread-mgw-mt-s-1_32.lib" linken

    ->bei Linker eintragen mit vollem Pfad, bei mir z.B.:
    C:/DevCpp/lib/boost/libboost_thread-mgw-mt-s-1_32.lib



  • So hab ich gemacht! Bei mir siehts so aus:

    ---> lib/boost_thread-mgw-mt-1_31.lib

    Ist da wo auch die ganzen anderen Libs sind...

    Kann das Prog jetzt zwar kompilieren 🙂 aber beim ausfähren des Programms kommt die Windows-Fehlermeldung: 😞

    ... DLL boost_thread-mgw-mt-1_31.dll nicht gefunden ....

    Die Datei ist in lib/dlls .

    Wie krieg ich den Linker dazu das er die nimmt ???

    -------------------------------------------------------
    Viele Fragen, weil ich erst heute richtig angefangen habe mich mit den Dev cpp compiler zu beschäftigen.



  • kopier die dll datei ins verzeichnis der exe oder ins windows verzeichnis



  • Na endlich es klappt. Vielen Vielen Dank an YASC 👍
    Und natürlich auch ein bissl 😃 an Mr. Pünktchen.


Anmelden zum Antworten