CMake的Openscenegraph库的链接

问题描述:

那么,我是CMake的新手,并且想要在eclipse中编辑飞行模拟代码而不是Visual Studio。为此,我下载了Simgear,CMake,Boost库,open scene graph和openalsoft的源代码。CMake的Openscenegraph库的链接

现在我有所有可用的数据,但我不知道在哪里放置这些库的一些。因此,当我运行CMake并参考我的飞行代码时,它抱怨说openscenegraph库没有安装。

请帮助我在哪里需要把所有这些文件,以便使用CMake将我的代码转换为eclipse。我已经安装了boost和openal库。只有问题是openscenegraph库,我把程序文件放在以下路径“C:\ Program Files \ OpenSceneGraph-3.4.0”,但CMake无法访问它。错误代码是

Eclipse version is set to 3.6 (Helios). Adjust CMAKE_ECLIPSE_VERSION if this is wrong. 
 
version is 2016 dot 3 dot 1 
 
ignoring: ^C:/Media/Project/study material/flight gear/simgear-2016.3.1/.git;\\.gitignore;Makefile.am;~$; 
 
Library installation directory: lib 
 
Boost version: 1.62.0 
 
SimGear mode: NORMAL 
 
Found OpenAL: C:/Program Files/OpenAL/OpenAL32.lib 
 
Sound support: ENABLED 
 
Could NOT find osgText (missing: OSGTEXT_LIBRARY OSGTEXT_INCLUDE_DIR) 
 
Could NOT find osgSim (missing: OSGSIM_LIBRARY OSGSIM_INCLUDE_DIR) 
 
Could NOT find osgDB (missing: OSGDB_LIBRARY OSGDB_INCLUDE_DIR) 
 
Could NOT find osgParticle (missing: OSGPARTICLE_LIBRARY OSGPARTICLE_INCLUDE_DIR) 
 
Could NOT find osgGA (missing: OSGGA_LIBRARY OSGGA_INCLUDE_DIR) 
 
Could NOT find osgViewer (missing: OSGVIEWER_LIBRARY OSGVIEWER_INCLUDE_DIR) 
 
Could NOT find osgUtil (missing: OSGUTIL_LIBRARY OSGUTIL_INCLUDE_DIR) 
 
Could NOT find osg (missing: OSG_LIBRARY OSG_INCLUDE_DIR) 
 
Could NOT find OpenThreads (missing: OPENTHREADS_LIBRARY OPENTHREADS_INCLUDE_DIR) 
 
CMake Error at C:/Program Files/CMake/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (message): 
 
    Could NOT find OpenSceneGraph (missing: OPENSCENEGRAPH_LIBRARIES 
 
    OPENSCENEGRAPH_INCLUDE_DIR OSGTEXT_FOUND OSGSIM_FOUND OSGDB_FOUND 
 
    OSGPARTICLE_FOUND OSGGA_FOUND OSGVIEWER_FOUND OSGUTIL_FOUND OSG_FOUND 
 
    OPENTHREADS_FOUND) (Required is at least version "3.2.0") 
 
Call Stack (most recent call first): 
 
    C:/Program Files/CMake/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE) 
 
    C:/Program Files/CMake/share/cmake-3.7/Modules/FindOpenSceneGraph.cmake:223 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) 
 
    CMakeLists.txt:243 (find_package) 
 

 

 
Configuring incomplete, errors occurred! 
 
See also "C:/Users/shajeeh/Documents/CMake/CMakeFiles/CMakeOutput.log".

+0

复制[在eclipse中使用cmake编译飞行代码](http://*.com/questions/40373379/compilation-of-使用cmake代码) – wasthishelpful

+0

什么**方法**你用来找到OpenAL库[在那个问题](http://*.com/questions/40373379/compilation-of-flightgear-code-in-eclipse-using-cmake)码功能于使用-cmake的Eclipse的)?你是否尝试过(以及如何)这种OSG库的方法?在CMake下有很多用于开发的库,并且对每个**库有不同的问题......它不是Stack Overflow的目的。 – Tsyvarev

+0

我在Findopenal.cmake中输入了一个代码片段来解决我的库的位置,并且确实有效。我试图对findopenscenegraph.cmake做同样的事情,但它给出了错误......无法找到由“C:/ Program Files/OpenSceneGraph-3.4.0/build”提供的软件包配置文件以下名称: C:/ Program Files/OpenSceneGraph-3.4.0/buildConfig.cmake c:/ program files/openscenegraph-3.4.0/build-config.cmake –

我不是一个专家的CMake,这里有些东西我为了在Linux中创建ROS & OSG项目所做的:

添加一个环境变量(如果它现在还没有)的.bashrc文件:

出口PATH = $ {PATH}:.../OpenSceneGraph的-3.4.0/bin中(你的绝对路径)

然后在CMake的文件中加入:

FIND_PACKAGE(OpenSceneGraph的成分osgSim osgUtil osgDB osgFX osgGA osgTerrain osgViewer osgText osgWidget osgManipulator OSG osgShadow)

target_link_libraries(name_of_your_executable $ {PROJECT_NAME} $ {OPENSCENEGRAPH_LIBRARIES})

对于更多信息查看CMake文档herehere