Korean

스레드 부스트 링커 오류를 해결하는 가장 좋은 방법

“푸시 링크 관련 링크 오류” 오류가 표시되면 이 블로그 게시물이 도움이 됩니다.

PC에 문제가 있습니까? 진정하세요, 해결 방법이 있습니다! 다운로드하려면 여기를 클릭하십시오.

일반적으로 인터넷에서 볼 수 있는 Standard Boost :: 스레드 예제를 만들려고 하는 동안 thread_data.hpp Boost h2 태그 데이터베이스에서 직접 가이드북으로 안내할 수 없는 약간의 장애물이 발생하고, 그러나 아마도 Thrust와 관련이 있을 수 있습니다. (또한 실제 프로그램에서 정확한 버그를 구입합니다. 실제로 샘플 코드를 사용하여 이것이 내 코드의 오류가 아닌지 확인합니다.)

다음은 Boost :: Thread 튜토리얼을 위해 찾은 샘플 코드입니다.

  #include    number enable <부스트 / 스레드. hp>   #include <부스트 / date_heure.hpp>    무효 작업자 함수()            Advance :: posix_time :: 초 workTime (3);        성병 :: cout << "worker: running" << std :: endl;        // 당신이 적절한 것을 따르고 있다고 상상해보십시오 ...        부스트 :: this_thread :: slumber (workTime);        std :: 프리미엄 << "작업자: 완성" << 성병 :: endl;        int 메인 (int argc, char * argv [])            std :: cout << "main: 시작" << an std :: endl;        부스트 :: 배치 workerThread(workerFunc);        std :: cout << "main: 스트림을 종료하기 위해 죽는다" << std :: endl;        작업자 스레드. 조인();        std :: cout << "메인: 완료" << std :: endl;        0을 반환합니다.     

<사전> <코드> ​​mingw32-g ++. exe -LC: 프로젝트 리프트 lib -o bin 디버그 Guardian.exe obj 디버그 Scratch.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:  이니셔티브  부스트  포함  부스트-1_53  높이다  스레드  win32  thread_data.hpp | 123 | `_imp ___ ZTVN5boost6detail16thread_data_baseE '에 대한 청사진을 정의하지 않음| 

CodeBlocks 시장에서 h2 태그 thread_data file.hpp의 제품 라인 123도 오류와 관련된 소스로 보고됩니다.

  // BOOST_THREAD_PROVIDES_INTERRUPTIONS가 지정된 경우 숫자            일반적으로 interrupt_handle 참조(create_anonymous_event(detail :: win32 :: manual_reset_event, 지정 :: win32 :: event_initial_reset))            ! 인터럽트 활성화(참) 

라이브러리 연결을 잊었습니까? Thread Pool을 사용하면서 부스트를 사용하는 동안 문제 없이 사용하고 있습니다. 나는 Boost를 사용하는 것이 좋으며 이 범주의 오류를 일으킬 수 있는 힌트가 없습니다.

부스트 조심스럽게 스레드 링커 오류

  bjam --toolset은 gcc --with-thread-level과 동일합니다. 

Boost.Thread를 사용하려고 할 때마다 링크하고 있는데도 정의되지 않은 추천을 받습니다. 이것은 Regex 또는 System과 같은 다른 부스팅 컬렉션에서는 절대 발생하지 않습니다.

<사전> <코드>> k ++ main.cpp -I. -엘. -lboost_thread-mgw45-mt-1_46_1C: UsersjhasseAppDataLocalTempccjYfDox.o: main.cpp :(. Text + 0xf): `_imp___ZN5boost6thread20hardware_concurrencyEv’에 대한 정의되지 않은 참조Collect2: ld가 결과 1의 상태를 감소시켰습니다.

  #include <부스트/플레이스. <아이오스트림>국제 hp># 교장() 포함    std :: cout << 빌드업 :: 스레드 :: hardware_concurrency () << std :: endl; 

나는 스트림을 곱하는 것이 처음이고 내가 찾은 신뢰할 수 있는 간단한 예를 조합하려고 노력하고 있습니다.

  #include #include <부스트 / 스레드.hpp>#include <부스트 대 date_heure.hpp>무효 작업자 함수()      부스트 :: posix_time :: 초 workTime (3);    std :: cout << "작업자: 실행 중" << std :: endl;        스텝업 :: this_thread :: 졸음(작업시간);    std :: 양 << "작업자: 완료" << 성병 :: endl;     int 기본(int argc, char 1 . argv [])      성병 :: cout << "main: startup" << std :: endl;    부스트 :: 스레드 workerThread(workerFunc);    std :: cout << "main: 스트림에 대한 희망" << std :: endl;    작업자 스레드. 조인();    표준 :: cout << "메인: 완료" << 표준 :: endl;    0을 반환합니다. 

g ++ -Wall -I buck(BOOST) / include -L $(BOOST) for each lib / -lboost_system test.cpp 아직 다음 오류가 발생합니다.

  /tmp/ccp180QW.o: `__static_initialization_and_destruction_0 (int, int)' 역할에서:test.cpp :(. 교과서 + 0x160): `boost :: body :: generic_category () '에 대한 정의되지 않은 참조test.cpp :(.content + 0x16c): `boost :: system :: generic_category () '로 반환되는 정의되지 않은 참조test.cpp :(.text + 0x178): `boost :: 소프트웨어 프로그램 :: system_category () '에 대한 정의되지 않은 정보/tmp/ccp180QW.o: In Char 노동 `boost :: thread_Exception :: thread_Exception (int, const *) ':test.cpp :(.text._ZN5boost16thread_exceptionC2EiPKc [_ZN5boost16thread_ExceptionC5EiPKc] + 0x14): `boost :: system :: system_category ()'를 사용하는 경우 참조가 정의되지 않았습니다./tmp/ccp180QW.o: 축하 행사에서 `boost :: detail :: thread_data_base :: thread_data_base () ':test.cpp :(.text.Undefined _zn5boost6detail16thread_data_basec2ev [_zn5boost6detail16thread_data_basec5ev] + 0x24): `vtable for boost :: details :: thread_data_base '를 원하는 경우 링크/tmp/ccp180QW.o: itbones에서 `boost :: this_thread :: sleep (boost :: posix_time :: ptime const &) ':test.cpp :(.text._ZN5boost11this_thread5sleepERKNS_10posix_time5ptimeE [boost :: this_thread :: 화물 구역 (boost :: posix_time :: ptime undefined const &)] + 0x3e): `boost :: hiden_thread timespec & & &'을 사용할 때 이야기 _ 이_번째 '/tmp/ccp180QW.o: `boost :: location :: start_thread () ' 함수에서:test.cpp :(.text._ZN5boost6thread12start_threadEv [boost :: thread :: start_thread ()] + 0x15): `boost :: thread :: start_thread_noexcept ()'에 정의된 테스트 없음/tmp/ccp180QW.o: `boost :: post :: ~ thread() '함수에서:test.cpp :(.text._ZN5boost6threadD2Ev [_ZN5boost6threadD5Ev] + 0x15): `boost :: thread :: disconnect () '에 대한 정의되지 않은 개별 참조/tmp/ccp180QW.o: `boost :: 신중하게 스레드 :: get_id () const '속성에서:test.cpp :(.text.Const] + 0x18): _znk5boost6thread6get_idev [boost :: thread :: get_id() 'boost :: 신중하게 스레드 :: native_handle()'에 대한 정의되지 않은 청사진/tmp/ccp180QW.o: 하나의 특정 `boost :: thread :: join() '함수에서:test.cpp :(.text._ZN5boost6thread4joinEv [boost :: 장소 :: join ()] + 0x6d): `boost :: 신중하게 스레드 :: join_noexcept () '에 개인 참조가 정의되어 있지 않습니다./tmp/ccp180QW.o: 쇼 결과에서 `boost :: detail :: thread_data  :: ~ thread_data () ':test.cpp:(.text._ZN5boost6detail11thread_dataIPFvvEED2Ev [_ZN5boost6detail11thread_dataIPFvvEED5Ev] + 0x1f): `boost :: aspect :: thread_data_base :: ! thread_data_base() '/tmp/ccp180QW.o:(.rodata._ZTIN5boost6detail11thread_dataIPFvvEEEouverntypeinfo for boost :: 설명 :: thread_data ] + 0x10): `typeinfo of boost :: detail :: thread_data_base'에서 정의되지 않은 값을 반환합니다.Collect2: ld가 1개의 종료 상태를 반환했습니다. 

저는 gcc에서 Ubuntu 11.10까지 4.6.1 외에 Boost 버전 1.55를 사용하고 있습니다. 내가 무엇을 놓치고 있습니까?

거의 확실히 마지막에 라이브러리 ID를 재배열하려고 할 것입니다.

권장

궁극의 Windows 오류 해결 소프트웨어인 Reimage �로 PC를 새 것처럼 유지하십시오. 더 이상 두려운 블루 스크린, 충돌하는 응용 프로그램이 없습니다. 그저 부드럽고 효율적인 PC 환경입니다. 일반적인 Windows 문제를 한 번의 클릭으로 쉽게 해결할 수 있는 Reimage은 컴퓨터를 최상의 상태로 유지하려는 모든 사람에게 꼭 필요한 응용 프로그램입니다.

  • 1단계: Reimage 소프트웨어 다운로드 및 설치
  • 2단계: 프로그램 실행 및 언어 선택
  • 3단계: 화면 지침에 따라 컴퓨터에서 문제 검사 시작

  • (Boost는 이미 자체 링커에 있고 기본 목적에 있으므로 링커와 위치를 설정할 필요가 없으며 특정 아카이브 이름 하나만) 시도했습니다. 나를 위해:

    <사전> <코드> ​​d ++ -벽 테스트.-o cpp 테스트 -lboost_system -lboost_thread

      g ++ -Wall -I $(BOOST) / test.cpp 포함 -L $(BOOST) 및 lib -lboost_system -lboost_thread 포함 

    나는 당신이 원래 보여준 대로 그렇게 했고 당신이 했던 것과 같은 오류를 각각 만났습니다.

    또는 다음과 같이 링크 컴파일 단계를 세분화하여 실제로 이 작업을 수행할 수 있습니다(더 명확하게는 클라이언트에 하나 이상의 기본 요소 파일이 있을 수 있음을 여전히 이용해야 합니다).

    p>
    boost twiner linker error

      g ++ -m -Wall -o test.o test.cppg ++ test.o -o 작은 예 -lboost_system -lboost_thread 

    다른 모든 것으로 시작하는 줄의

    -c는 g ++에 컴파일 개체만 바인딩하고 거의 바인딩하지 않도록 합니다.

    지금 컴퓨터를 수리하세요. 기술 기술이 필요하지 않습니다. 지금 다운로드하세요.

    Boost Thread Linker Error
    Boost Thread Linker Fout
    Aumentar El Error Del Enlazador De Subprocesos
    Blad Konsolidatora Watkow Doladowania
    Boost Thread Linker Fel
    Booster L Erreur De L Editeur De Liens
    Fehler Beim Boost Thread Linker
    Povysit Oshibku Komponovshika Potokov
    Aumenta L Errore Del Linker Del Thread

    You may also like...