【问题标题】:Is there a Maven equivilent for resolving 3rd party dependencies for Cmake on Linux?是否有 Maven 等效于解决 Linux 上 Cmake 的 3rd 方依赖项?
【发布时间】:2017-02-23 10:27:29
【问题描述】:

我正在尝试设置一个可以使用 Open Scene Graph (OSG) 的环境,但我在使用它的 3rd 方库时遇到了问题。它是使用 cmake 构建的,但是当我运行它时,会出现多个错误,如下所示:

Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE) 

像下面这样的线程说它要么是因为没有安装库,要么是 cmake 找不到它们。

cmake error when configuring

如果只缺少一个库,这会很好,但我遇到了 14 个库的问题。我正在尝试使用 apt-get 然后在 .profile 文件中输入 lib 目录,以便 cmake 可以找到它们。这似乎需要一整天的时间才能正确。我是 C、C++ 和 Linux 的新手(刚刚设置了我的第一个 Ubuntu 环境)。在 Java 中,我可以使用 Maven 之类的东西来解决这个问题。在这种情况下我可以使用类似的东西吗?

我已从 github 提取源代码,并按照他们的说明进行构建。 https://github.com/openscenegraph/OpenSceneGraph

完整输出:

$ cmake .

Could NOT find EGL (missing:  EGL_LIBRARY EGL_INCLUDE_DIR) 
Could NOT find Freetype (missing:  FREETYPE_LIBRARY FREETYPE_INCLUDE_DIRS) 
Could NOT find JPEG (missing:  JPEG_LIBRARY JPEG_INCLUDE_DIR) 
Could NOT find Jasper (missing:  JASPER_LIBRARIES JASPER_INCLUDE_DIR JPEG_LIBRARIES) 
Could NOT find LibXml2 (missing:  LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR) 
Could NOT find ZLIB (missing:  ZLIB_LIBRARY ZLIB_INCLUDE_DIR) 
Could NOT find ZLIB (missing:  ZLIB_LIBRARY ZLIB_INCLUDE_DIR) 
Could NOT find GDAL (missing:  GDAL_LIBRARY GDAL_INCLUDE_DIR) 
Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE) 
Could NOT find CURL (missing:  CURL_LIBRARY CURL_INCLUDE_DIR) 
Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE) 
Could NOT find GStreamer (missing:  GSTREAMER_INCLUDE_DIRS GSTREAMER_LIBRARIES GSTREAMER_VERSION GSTREAMER_BASE_INCLUDE_DIRS GSTREAMER_BASE_LIBRARIES GSTREAMER_APP_INCLUDE_DIRS GSTREAMER_APP_LIBRARIES GSTREAMER_PBUTILS_INCLUDE_DIRS GSTREAMER_PBUTILS_LIBRARIES) 
Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE) 
Could NOT find SDL2 (missing:  SDL2_LIBRARY SDL2_INCLUDE_DIR) 
Could NOT find SDL (missing:  SDL_LIBRARY SDL_INCLUDE_DIR) 
Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE) 
Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE) 
Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE) 
Could NOT find JPEG (missing:  JPEG_LIBRARY JPEG_INCLUDE_DIR) 
Could NOT find ZLIB (missing:  ZLIB_LIBRARY ZLIB_INCLUDE_DIR) 
Could NOT find PNG (missing:  PNG_LIBRARY PNG_PNG_INCLUDE_DIR) 
Could NOT find TIFF (missing:  TIFF_LIBRARY TIFF_INCLUDE_DIR) 
g++ version 5.4.0 
Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE) 
Configuring done
Generating done

【问题讨论】:

    标签: c++ linux maven cmake


    【解决方案1】:

    通常你会 apt-get install openscenegraph。你不能这样做有什么原因吗?

    https://packages.debian.org/jessie/openscenegraph是debian下的包名。根据您使用的发行版,此页面上列出的要求可能会相似(如果不相同)(另请参阅这些:https://packages.debian.org/jessie/libopenscenegraph-dev

    请注意,openthreads 可能由您尝试编译的 openscenegraph 提供

    【讨论】:

    • 似乎成功了。令人困惑的是,他们的入门指南中没有提到这一点。也许只是一个如此明显的例子,以至于他们认为每个人都知道如何做到这一点?非常感谢。
    • @Paddy 最好的办法是在存储库中搜索您的发行版,看看它是否已经在其中。我倾向于发现只有不起眼的不是。
    猜你喜欢
    • 1970-01-01
    • 2011-12-18
    • 2018-05-13
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 2010-09-19
    相关资源
    最近更新 更多