2012-05-06 2 views
1

안녕하세요, 내가 부스트 파일 시스템을 사용하려고하고 컴파일 할 때 문제가 발생했습니다. 아래는 콘솔의 메시지입니다. 나는 이클립스에서 OpenSuse 11.4에서 boost 4.9를 사용하고있다. 나는이 일을하기 위해 다음에 무엇을 시도해야할지 전혀 모르기 때문에 어떤 도움이라도 대단히 감사 할 것입니다. 감사합니다. .부스트 파일 시스템의 어려움

Invoking: GCC C++ Linker 
g++ -L/usr/include/CGAL -L/usr/include/boost/iostreams -L/usr/include/gnuplot-iostream -L/usr/include/boost -L/usr/include -o"Aircraft_Engine_Noise" ./src/Aircraft_Engine_Noise.o ./src/Environment_Functions.o ./src/Global.o ./src/Plotting.o ./src/Simulation.o ./src/filehandle.o ./src/gnuplot_i.o ./src/gridsquare.o ./src/nasagridsquare.o ./src/terrain.o ./src/user_input.o ./src/utils.o -lboost_iostreams -lboost_system -lboost_filesystem 
./src/Plotting.o: In function `boost::filesystem3::temp_directory_path()': 
/usr/include/boost/filesystem/v3/operations.hpp:537: undefined reference to `boost::filesystem3::detail::temp_directory_path(boost::system::error_code*)' 
collect2: ld returned 1 exit status 
+0

어떻게 부스트를 설치 했습니까? 또는 src에서 가져 와서 직접 컴파일 했습니까? – RedX

답변

2

컴파일러 호출에 몇 가지 오류가 있습니다. 포함 디렉토리에 -L을 사용하는 반면, -I을 사용해야합니다.

libboost_filesystem 라이브러리에 연결하지 않은 것 같습니다. 잘못된 호출 인 g++의 문제점으로 인해 라이브러리 검색 경로가 엉망이 될 수 있습니다.

라이브러리가있는 디렉토리를 추가해야 할 수도 있습니다. 내 설정, 그것은 /usr/local에 있으므로

-L/usr/local 

는 라이브러리 검색 경로에 추가합니다.

+0

나는 이것을했다고 생각했다. 라이브러리에 추가했습니다. 그리고 콘솔 라인은 다음과 같이 보입니다 : g ++ -L/usr/include/CGAL -L/usr/include/boost/iostreams -L/usr/include/gnuplot-iostream -L/usr/include/boost -L/usr/include -o "Aircraft_Engine_Noise"./src/Aircraft_Engine_Noise.o ./src/Environment_Functions.o ./src/Global.o./src/Plotting.o ./src/Simulation.o ./src/filehandle.o. /src/gnuplot_i.o ./src/gridsquare.o ./src/nasagridsquare.o ./src/terrain.o ./src/user_input.o ./src/utils.o -lboost_iostreams -lboost_system -lboost_filesystem – wookie1

+0

해당 라이브러리 * 않습니다 * OP 링커 호출에 나타납니다. –

+0

@ wookie1 미안하지만, 나는 완전한 부름을 보지 못했습니다. 몇 가지 오류가있는 것 같지만 문제와 관련이 없습니다. 어디 부스트 libs 정확히 무엇입니까? – juanchopanza