업데이트 : 컴파일하는 방법을 찾았습니다. 아래를 참조하십시오.cygwin을 사용하여 부스트 프로그램을 컴파일하는 데 문제가 있습니다.
안녕하세요, cygwin에서 부스트 프로그램을 컴파일하는 데 문제가 있습니다. cygwin 프로젝트의 setup.exe에서 기본 boost 및 g ++ 패키지를 설치했습니다.
내 리눅스 시스템에서, 내가 사용하는 프로그램 reg.cpp을 컴파일 할 수있는 사항은 다음과 같습니다
g++ -I/usr/include/boost-1_33_1 -lboost_regex-gcc-mt -o reg reg.cpp
문제가 있다는 것입니다 : Cygwin에서에
g++ -I/usr/include/boost -lboost_regex -o reg reg.cpp
내가이 조금을 편집해야 cygwin 버전은 링커가 백만 개의 정의되지 않은 참조 오류를 발생하게합니다. 부스트 테스트 프레임 워크 라이브러리를 사용해도 똑같은 일이 발생합니다.
링커에서 boost_regex-gcc-mt를 찾았지만 포함 파일과 일치하지 않는 것으로 보입니다.
내가 컴파일하려면 솔루션 here을 발견 컴파일 방법
undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
, 나는 다음과 같은 한 : 다음은 첫 번째 링커 오류의 포스트에 따르면
g++ -I/usr/include/boost-1_33_1 reg.cpp -o reg -lboost_regex-gcc-mt
, 그것은 뭔가있다 링커 순서와 관련있다. cygwin에서이 문제가 왜 중요하지만 현대 리눅스에서는 그렇지 않은지 아무도 모른다.