2013-03-06 4 views
1

'5.3.4 Invoke b2'를 사용하여 boost documentation을 읽고 부스트 라이브러리를 header and linker directories에 연결하는 세부 사항을 설명하는 포럼 스레드를 따라갔습니다. '4.1 Build from the Visual Studio IDE '라고 말하면서이 멋진 부스트와 관련된 위키가 bjam.exe controls 인 것을 발견했습니다.boost LNK2019 오류

오류 :

error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" ([email protected]@boost@@[email protected]@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'posix_category''(void)" ([email protected]@[email protected]@YAXXZ) main.obj 

error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" ([email protected]@[email protected]@[email protected]@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'native_ecat''(void)" ([email protected]@[email protected]@YAXXZ) main.obj 

가 유사하다, 뭔가에 대한 'posix_category'하고 그래서 뭔가에 대한 'native_ecat'

, 나는 64 부스트 라이브러리를 구축했는데,이 어디에 넣을 것인가에 충돌하는 지침을 발견

또한, 나는 X32에 다시 VS2008 구성을 변경 시도 -> solutionExplorer/solution_properties/configuration_manager/active_solution_platform - Win32에서, 폐쇄 및 Visual Studio를 재개 - 다시 링크 추가 디렉토리 C/C++/일반 및 향상에 링커/일반/root 및 Boost/stage/lib - 오류없이 컴파일됩니다. 지하 2 명령에

내 추측은 VS2008에 부스트의 x64 버전을 구축하고 설치하는 방법에 대한 간략한 지침을 제공하십시오 --toolset=msvc-9.0 address-model=64 --build-type=complete --stagedir=lib\x64 stage

입니다. 또한, wiki에서 릴리스 및 디버깅에 대해 이야기 한 내용은 무엇입니까? Boost invocation에 없습니까?

+0

"5.2 소스에서 원본 빌드"대신 설치 지침에서 5.3을 사용하는 이유가 무엇입니까? – us2012

+0

@ us2012 구체적인 것은 없습니다 - 그게 무엇인지는 확실치 않지만 "5.1 Visual Studio 바이너리 설치"가 나오고 더 이상 설치를하지 않는 "BoostPro Computing"에 대해 이야기합니다. 그래서 아마 그걸 건너 뛰고 갔을 것입니다. bjam.exe에 대해 읽은 대부분의 도움말 스레드처럼 보였습니다. - 공정한 ... –

+0

당신의 문제를 해결할 것이라고 말하지는 않지만 완전히 자동화되고 사용하기가 쉽기 때문에 적어도 그것을 시도하십시오. – us2012

답변

-3

사용 C++ (11)

이 더 많거나 적은 내가 사용하고 싶었 또한 g ++에서 내 대학 서버에 부스트 라이브러리를 구축하고 원격 g에 참조하는 방법을 알아내는없이 컴파일 부스트의 모든 기능을 포함 ++ 빌드 - 거의 모든 것을 해결했습니다.

+0

C++ 11 표준 라이브러리는 Boost를 완전히 대신하지 않습니다. 게다가, 대부분의 Boost 라이브러리는 헤더 전용이며 어떤 것도 컴파일 할 필요가 없습니다. 다른 라이브러리에 거의 의존하지 않는 사람들은 소스를 복사하고 적절한 빌드로 컴파일 할 수 있습니다 도구 (예 : https://github.com/filmor/webos-pdf)를 참조하십시오. – filmor

+0

나는 boost :: thread를 사용하고 있었고 2 일 후에 g ++ 빌드에서 라이브러리를 얻는 방법을 알아 내지 못했습니다. 그리고 제가 RedHat 6.4 버전의 버그가 있다고하더라도 - C++ 11이 작동했습니다. 같은 상황에있는 다른 사람에게 조언하는 것은 C++ 11을 사용하는 것입니다. 또한 링크는 아무 것도하지 않습니다. –

+0

Red Hat의 버그에 대해 자세히 설명해 주시겠습니까? 게다가이 질문은 분명히 Windows에 관한 것이므로 완전히 다른 상황입니다. 필자가 제공 한 링크는 Boost.Thread 라이브러리를 통합 한 프로젝트로, 4 개의 소스 파일을 추가하기에 충분합니다 (https://github.com/filmor/webos-pdf/tree/master/boost_thread를 참조하십시오).). – filmor