2012-09-06 2 views
1

OMNeT ++을 처음 접했고 boost 프레임 워크에 포함 된 직렬화 라이브러리를 사용하고 싶습니다. 그러나 그것을 사용하려고하면 다음과 같은 오류가 발생합니다.부스트 직렬화 라이브러리를 사용하는 OMNeT ++의 링크 오류

Description Resource Path Location Type 
undefined reference to `boost::archive::archive_exception::~archive_exception()' 
OmCCN line 36, external location: /home/alexander/UniBE/BT/simulator/boost-compiledLibs 
/include/boost/serialization/throw_exception.hpp C/C++ Problem 

. 문제는 내가 아직 OMNeT에서 컴파일 된 라이브러리를 링크하지 않았다는 것입니다. 나는 makefile을 살펴 봤지만 makemake가 자동적으로 생성하기 때문에 아무런 변화가 없다. 또한, 프로젝트> 속성> OMNeT ++ IDE에서 메뉴 항목 'makemake'에 액세스하려고하면 오류가 발생합니다 (현재 표시된 페이지에 잘못된 값이 있습니다).

누구든지 오류의 원인이나 컴파일 된 라이브러리를 올바르게 연결하는 방법에 대한 힌트를 줄 수 있습니까?

모든 힌트는 매우입니다.

환호 알렉스

답변

1

먼저 당신은 라이브러리 파일을 받아야합니다.

예를 들어 Ubuntu에서는 libboost1.46-dev 및 libboost-serialization1.46-dev과 같은 두 패키지를 설치해야합니다. 헤더 파일은 usr/include/boost에 설치되고 라이브러리 파일은 usr/lib에 설치됩니다.

는 프로그램에 직렬화 라이브러리를 연결하려면 :

프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다. 그런 다음 OMNET ++> Makemake로 이동하십시오.

은 링크 탭을 발견하고 "추가 객체와 링크 (와일드 카드, ...", 섹션하여 직렬화 라이브러리 (말은/usr/lib 디렉토리/libboost_serialization-(MT)에 대한 경로를 지정합니다. a).

관련 문제