2012-04-19 2 views
1

방금 ​​OpenSceneGraph 소스를 다운로드 한 후 "~/OpenSceneGraph-3.0.1"디렉토리에 압축을 풀고 CMake를 사용하여 소스가 아닌 것을 만듭니다. "~/OpenSceneGraph-3.0.1-build"프로젝트를 만듭니다. -eclipse-cdt " 디렉토리에 있습니다. "~/OpenSceneGraph-3.0.1-build-eclipse-cdt"디렉토리에서 "make"를 실행하면 OpenSceneGraph는 을 성공적으로 빌드합니다. 내가 원하지 않는 "sudo make install"을 실행하지 않았습니다. OpenSceneGraph를 제 우분투 시스템에 단단히 설치하십시오.CMake를 사용하여 OpenSceneGraph 프로젝트를 만드는 방법은 무엇입니까?

이제 CMake를 사용하여 컴파일 된 OpenSceneGraph 라이브러리를 사용하여 프로젝트를 만들고 싶습니다. 나는 CMakeLists.txt에 다음과 같은 코드를 사용 :

CMAKE_MINIMUM_REQUIRED(VERSION 2.6) 
PROJECT(test_proj) 
FIND_PACKAGE(OpenSceneGraph) 
ADD_EXECUTABLE(test test.cpp) 
INCLUDE_DIRECTORIES(${OPENSCENEGRAPH_INCLUDE_DIRS}) 
TARGET_LINK_LIBRARIES(test ${OPENSCENEGRAPH_LIBRARIES}) 

그러나 OpenSceneGraph는 CMake에 의해 찾을 수 없습니다 것으로 보인다.

사람이 CMake는 "~/OpenSceneGraph-3.0.1 빌드 - 이클립스 CDT"디렉토리에 컴파일 된 OpenSceneGraph 라이브러리를 찾을 수 있고, 내가 단단히 사용 OpenSceneGraph 설치 한 것처럼 프로젝트를 만드는 데 사용하는 방법을 알고 있나요 "sudo make install". 어떤 제안을 주셔서 감사합니다.

+0

작동하도록 변경 했습니까? –

답변

4

시스템 전체에 OpenSceneGraph를 설치할 필요가 없습니다. 자신에게 적합한 CMAKE_INSTALL_PREFIX를 선택하십시오 (예 : ~/osg).

설치 명령을 사용하면 FindOpenSceneGraph.cmake (CMake가 FIND_PACKAGE(OpenSceneGraph)을 호출 할 때 호출하는)에 대한 모든 정보가 올바른 위치 (올바른 디렉토리 구조)에 있는지 확인합니다.

그런 다음 OSG_DIR, OSGDIR 또는 OSG_ROOT 중 하나를 환경 변수로 지정하고 설치 위치를 지정해야합니다. 그러면 CMake는 위치를 알 수 있습니다.

편집 : @Hugues : 나는 조금 명확하게하려고합니다 : OpenSceneGraph 최대

설정 :

  1. 받기 OSG 소스를.
  2. CMake를 실행할 때 CMAKE_INSTALL_PREFIX을 선택하십시오. (기본값) /usr/local에 시스템 전체 설치를 원하지 않는 경우 명령 줄에 -DCMAKE_INSTALL_PREFIX=/home/hugues/osg이라고 말하거나 ccmake 또는 cmake-gui과 같은 GUI 도구를 사용하여 설정하십시오.
  3. OSG를 빌드하고 설치하려면 make install을 실행하십시오.
  4. OSG_DIRCMAKE_INSTALL_PREFIX을 가리 키도록 설정하십시오. (export OSG_DIR=<whereever_you_installed_osg>)

설치 프로젝트 : (원하는대로 추가 원하는 선택적 인수) 당신의 CMakeLists.txt에서

  1. , FIND_PACKAGE(OpenSceneGraph)를 사용합니다.
  2. cmake 파일의 적절한 위치에 ${OpenSceneGraph_LIBRARIES}과 같은 결과 변수를 사용하십시오.
  3. 프로젝트에 대해 CMake를 실행하십시오.
+0

그런 다음 CMakeLists.txt는 어떻게 생겼습니까? 당신의 지시를 이해하지 못해 죄송합니다. –

+2

@Hugues 내 확장 된 답변을 통해 더 명확 해지기를 바랍니다. –

관련 문제