2014-04-09 2 views
0

나는 다음과 같은 g의 ++ 명령을 내 프로젝트를 컴파일하려고 :이 오류가 발생는 lboost_program_options에 링크 할 수 없습니다

g++ -Wall -o mdaemon mdaemon-Mdaemon.o mdaemon-Rm.o mdaemon-Share.o mdaemon-SuperDaemon.o mdaemon-wmxver.o -pthread -L/home/sunshyn/wmx_simmode/src/../cots/lib/i686-redhat-linux-gnu ..//common/libcommon.a ..//common/pm/libpm.a ..//common/br/librouter.a ..//common/br/tcp/libipc_tcp.a ..//common/applink/libapplink.a ..//common/ur/libur.a ..//common/pma/libpma.a ..//common/cma/libcma.a -lbz2 -lcurses -ldl -lpthread -lboost_program_options -lboost_thread 

아래에 표시 :

mdaemon-Mdaemon.o(.text+0x29b6): In function `main': 
: undefined reference to `boost::program_options::options_description::m_default_line_length' 
mdaemon-Mdaemon.o(.text+0x29c0): In function `main': 
: undefined reference to `boost::program_options::options_description::options_description(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)' 
collect2: ld returned 1 exit status 
make: *** [mdaemon] Error 1 

이 날이 무엇인지 알려주세요 명령에 실수가 있습니까?

답변

0

오류는 대부분 응용 프로그램을 program_options 라이브러리에 연결하지 않았 음을 의미합니다.

-L path (디렉토리, 기본 디렉토리 외에 라이브러리를 찾을 위치)을 다시 확인하십시오.

정적 라이브러리를 연결하기 위해 -l없이 파일 목록에 라이브러리의 전체 경로 (예 : g++ sources.cc ... /usr/lib/libboost_program_options.a)를 포함 할 수도 있습니다.

+0

나는 또한 제안 된 방법을 시도했지만 오류는 동일하게 유지됩니다. Ofcourse, 나는 "boost/program_options.hpp"를 포함 시켰습니다. – Sunshyn

관련 문제