我刚刚下载了eclipse源代码,将其解压到"~/ OpenSceneGraph -3.0.1“目录中,并使用CMake在”~/OpenSceneGraph-3.0.1-build-OpenSceneGraph-cdt“目录中创建了一个源码外的eclipse make项目。当我在"~/ OpenSceneGraph -3.0.1-build-eclipse-cdt“目录中执行"make”时,OpenSceneGraph构建成功。我没有运行"sudo make install“,因为我不想在我的Ubuntu系统中安装OpenSceneGraph。
现在,我想使用编译好的OpenSceneGraph库使用CMake创建一个项目。我在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} )但CMake似乎找不到OpenSceneGraph。
谁知道CMake如何在“~/ OpenSceneGraph 3.0.1-build-eclipse-cdt”目录中找到编译好的OpenSceneGraph库,并使用它来创建项目,就像我使用"sudo make install“紧密安装了OpenSceneGraph一样。谢谢你的建议。
发布于 2012-04-19 16:28:16
您不需要在整个系统范围内安装OpenSceneGraph。只需选择一个适合您的CMAKE_INSTALL_PREFIX (例如:~/osg)。
使用install命令可确保所有内容都正确就位(即在正确的目录结构中),以便FindOpenSceneGraph.cmake (调用FIND_PACKAGE( OpenSceneGraph )时CMake调用的脚本)能够找到它。
然后,您应该将OSG_DIR、OSGDIR或OSG_ROOT中的任何一个作为环境变量,并将其指向您的安装位置,以便CMake知道在哪里查找它。
编辑: @Hugues:我会试着说得更清楚一些:
设置OpenSceneGraph:
CMAKE_INSTALL_PREFIX,例如。如果您不想在(默认) /usr/local中进行系统范围的安装,则使用~/osg。通过在命令行中声明-DCMAKE_INSTALL_PREFIX=/home/hugues/osg,或者使用ccmake或cmake-gui.make install等图形用户界面工具设置它来构建和安装OSG,即可完成此操作。OSG_DIR设置为您指定的CMAKE_INSTALL_PREFIX。(export OSG_DIR=<whereever_you_installed_osg>)设置您的项目:
在您的CMakeLists.txt中,使用FIND_PACKAGE( OpenSceneGraph ) (添加所需的可选参数作为cmake结果变量的
${OpenSceneGraph_LIBRARIES}。
发布于 2021-08-25 04:01:55
在您的CMakeLists.txt中添加以下命令:
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
然后将文件FindOpenSceneGraph.cmake放入src/cmake目录。
可以在here中找到FindOpenSceneGraph.cmake。
https://stackoverflow.com/questions/10221240
复制相似问题