French

Meilleur Moyen De Dépanner Les Erreurs Thread Boost Linker

Si vous recevez une erreur « Erreur de liens push », cet article de blog sera là pour vous aider.

Votre PC vous pose problème ? Détendez-vous, il y a une solution ! Cliquez ici pour télécharger.

En essayant de créer l’exemple de thread Standard Boost :: trouvé sur Internet, je reçois les derniers obstacles de la base de données d’en-tête thread_data.hpp Boost que je ne peux pas directement mapper, mais peut-être que vous devriez être lié à la poussée. (J’achète également les mêmes bogues dans mon assistance réelle, mais j’utilise l’exemple de code pour m’assurer que ce n’est pas un problème dans mon code.)

Voici un exemple de code que j’ai rencontré pour le Boost :: Thread faq :

  #include    nombre activer    #include     void workerFunc ()            augment :: posix_time :: secondes workTime (3);        std :: cout << "worker: running" << std :: endl;        // Imaginez que vous suivez une application particulièrement utile ...        boost :: this_thread :: sleep (workTime);        maladie sexuellement transmissible :: coût << "travailleur: terminé" << an std :: endl;        int sérieux (int argc, char * argv [])            maladie sexuellement transmissible :: cout << "principal: startup" << une maladie sexuellement transmissible :: endl;        boost :: bond workerThread (workerFunc);        std :: cout << "main: meurt pour quitter je dirais le flux" << std :: endl;        workerThread.join ();        std :: cout << "main: done" << an std :: endl;        Renvoie 0 ;     
mingw32-g ++. exe -LC:projectsraiselib -o binDebugGuardian.exe objDebugScratch.o -lboost_filesystem-mgw47-mt-1_53 -lboost_system-mgw47 -mt -1_53 -lboost_date_time-mgw47-mt-1_53 -lboost_thread-mgw47-mt-1_53

  C:devoirsboostincludeboost-1_53boostthreadwin32thread_data.hpp | 123 | enquête non définie vers `_imp ___ ZTVN5boost6detail16thread_data_baseE '| 

Sur le marché des CodeBlocks, les modèles 123 du fichier h2 graffiti thread_data file.hpp sont signalés comme base de l'erreur :

  // nombre si BOOST_THREAD_PROVIDES_INTERRUPTIONS est spécifié            Voir aussi interrupt_handle (create_anonymous_event (detail :: win32 :: manual_reset_event, detail :: win32 :: event_initial_reset))            , interrupt_enabled (true) 

J'ai oublié dans lequel lier la bibliothèque ? Je suis Boost sans problème pendant que j'essayais d'utiliser Thread Pool. Je suis nouveau sur Boost et je n'ai aucune idée de ce qui pourrait être à l'origine de ce type d'erreur.

boost thread linker error

  bjam --toolset = gcc --with-thread-level 

Chaque fois que j'essaie d'utiliser Boost.Thread, je reçois des références indéfinies, même fondées, je crée un lien vers celui-ci. Cela ne se produit pas avec d'autres bibliothèques de maximisation comme Regex ou System.

 > g ++ main.cpp -I. -L. -lboost_thread-mgw45-mt-1_46_1C: UsersjhasseAppDataLocalTempccjYfDox.o: main.cpp :(. Text + 0xf): référence non définie à `_imp___ZN5boost6thread20hardware_concurrencyEv 'Collect2 : ld a décrémenté l'état du produit final 1 
  #include Int. hpp># inclure primaire ()    std :: cout << boost :: thread :: hardware_concurrency () << std :: endl; 

Je suis nouveau dans la multiplication des champs et j'essaie de mettre conjointement un exemple simple que j'ai trouvé :

  #include #include #include void workerFunc ()      encourager :: posix_time :: secondes workTime (3);    std :: cout << "worker: running" << std :: endl;        boost :: this_thread :: nuits de sommeil (workTime);    une maladie sexuellement transmissible :: coût << "travailleur: terminé" << maladie sexuellement transmissible :: endl;     int main (int argc, char argv [])      std :: cout << "main: startup" << std :: endl;    boost :: ligne workerThread (workerFunc);    maladies sexuellement transmissibles :: cout << "principal: espoir d'un grand flux" << std :: endl;    workerThread.join ();    std :: cout << "main: done" << std :: endl;    Renvoie 0 ; 

Je le compile quand il s'agit si vous voulez g ++ -Wall -I dollar (BOOST) / include -L money (BOOST) / lib / -lboost_system test.cpp < /code> ainsi que , j'obtiens les gaffes suivantes :

  /tmp/ccp180QW.o : Dans la partie `__static_initialization_and_destruction_0 (int, int)' :test.cpp :(. phrasing + 0x160): référence indéfinie de `boost :: system :: generic_category () 'test.cpp :(. text + 0x16c): étude non définie pour `booster :: system :: generic_category () 'test.cpp :(. text + 0x178): référence non définie à `boost :: application :: system_category () '/tmp/ccp180QW.o : Dans la fonction Char `boost :: thread_Exception :: thread_Exception (int, const *) ' :test.cpp :(. text._ZN5boost16thread_exceptionC2EiPKc [_ZN5boost16thread_ExceptionC5EiPKc] + 0x14): aucune référence spécifiée lors de l'utilisation de `boost :: cours :: system_category () '/tmp/ccp180QW.o : Dans la partie `boost :: detail :: thread_data_base :: thread_data_base () ':test.cpp :(. text.Undefined _zn5boost6detail16thread_data_basec2ev [_zn5boost6detail16thread_data_basec5ev] + 0x24): Lien si quelqu'un a besoin d'une `vtable pour aider à augmenter :: detail :: thread_data_base '/tmp/ccp180QW.o: Dans itbones `boost :: this_thread :: relaxation (boost :: posix_time :: ptime const &) ':test.cpp :(. text._ZN5boost11this_thread5sleepERKNS_10posix_time5ptimeE [boost :: this_thread :: sleep (boost :: posix_time :: ptime undefined const &)] + 0x3e): référence, lors de l'utilisation de `boost :: hiden_thread timespec & & &) _ this_th '/tmp/ccp180QW.o : Dans la fonction `boost :: soigneusement :: start_thread () ' :test.cpp :(. text._ZN5boost6thread12start_threadEv [boost :: thread :: start_thread ()] + 0x15): aucun test répertorié pour `boost :: thread :: start_thread_noexcept () '/tmp/ccp180QW.o : Dans la fonction `boost :: soigneusement :: ~ thread () ' :test.cpp :(. text._ZN5boost6threadD2Ev [_ZN5boost6threadD5Ev] + 0x15): mentions non définies pour `boost :: line :: detach () '/tmp/ccp180QW.o : Dans son 'boost :: thread :: get_id () const' attribut :test.cpp :(. text.Const] + 0x18): _znk5boost6thread6get_idev [boost :: thread :: get_id () référence non définie à `boost :: soigneusement thread :: native_handle () '/tmp/ccp180QW.o : Dans sa fonction `boost :: thread :: rejoignez la communauté à () 'fonction :test.cpp :(. text._ZN5boost6thread4joinEv [boost :: location :: join ()] + 0x6d): certainement pas la référence définie dans `boost :: soigneusement thread :: join_noexcept () '/tmp/ccp180QW.o : Dans incontestablement la fonction `boost :: detail :: thread_data  :: ! thread_data () ' :test.cpp :(. text._ZN5boost6detail11thread_dataIPFvvEED2Ev [_ZN5boost6detail11thread_dataIPFvvEED5Ev] + 0x1f) : aucune source définie à propos de `boost :: detail :: thread_data_base :: ! thread_data_base () '/tmp/ccp180QW.o:(.rodata._ZTIN5boost6detail11thread_dataIPFvvEEEouverntypeinfo pour kickstart :: detail :: thread_data ] + 0x10) : renvoie undefined de `typeinfo at boost :: detail :: thread_data_base 'Collect2 : ld a renvoyé 1 état d'arrêt 

J'utilise le compte Boost 1.55 en plus de 4.6.1 du gcc et d'Ubuntu 11.10. Qu'est-ce que je rate ?

You est conçu pour probablement essayer de réorganiser les ID d'archives à la fin.

Recommandé

Gardez votre PC en bon état de marche avec Reimage, le logiciel ultime de résolution d'erreurs Windows. Plus d'écrans bleus redoutés, plus d'applications qui plantent - juste une expérience PC fluide et efficace. Avec une résolution facile en un clic des problèmes Windows courants, Reimage est l'application indispensable pour tous ceux qui souhaitent maintenir leur ordinateur en parfait état.

  • Étape 1 : Téléchargez et installez le logiciel Reimage
  • Étape 2 : Lancez le programme et sélectionnez votre langue
  • Étape 3 : Suivez les instructions à l'écran pour lancer une analyse de votre ordinateur à la recherche de problèmes

  • J'ai essayé (Boost fonctionne déjà dans mon éditeur de liens et dans mon chemin d'extension, je n'ai donc pas besoin de spécifier l'éditeur de liens et les emplacements, seulement quelques noms d'archives) et un a fonctionné pour moi :

      gary le gars du gadget ++ -Wall test.-o cpp experiment -lboost_system -lboost_thread 
      g ++ -Wall -I $ (BOOST) / sont constitués de test.cpp -o test -L $ (BOOST) ou lib -lboost_system -lboost_thread 

    Je pourrais, comme vous l'avez montré à l'origine, et avoir subi la même erreur que vous l'avez réellement fait.

    Alternativement, vous pouvez faire ce type de fichier individuellement (et plus évidemment, vous voulez maintenant profiter de l'élément si les clients ont plus d'un fichier d'élément principal en particulier) en interrompant la réduction des étapes de compilation de liens comme cette compétence : < br>

    / p>
    boost twine linker error

      gr ++ -c -Wall -o test.o test.cppg ++ test.o -o petit exemple -lboost_system -lboost_thread 

    Le

    -c dans la ligne de produits avant tout le reste indique à grammes ++ de ne lier que le modèle de compilation, pas de lier.

    Réparez votre ordinateur maintenant. Aucune compétence technique requise. Télécharger maintenant.

    Boost Thread Linker Error
    Boost Thread Linker Fout
    부스트 스레드 링커 오류
    Aumentar El Error Del Enlazador De Subprocesos
    Blad Konsolidatora Watkow Doladowania
    Boost Thread Linker Fel
    Fehler Beim Boost Thread Linker
    Povysit Oshibku Komponovshika Potokov
    Aumenta L Errore Del Linker Del Thread

    You may also like...