build - 如何使CMake使用环境变量LD_LIBRARY_PATH和C_INCLUDE_DIRS

标签 build cmake environment-variables

有没有办法从cmake命令行传递C_INCLUDE_DIRS和LD_LIBRARY_PATH,还是有办法设置env以便CMAKE可以找到并使用它们?

最佳答案

尚不清楚您打算如何使用这些变量。这里有一些可能性:

  • 在CMake脚本中,您可以使用语法$ENV{<VARIABLE_NAME>}读取环境变量。因此,在CMakeLists.txt中,您可以输入以下内容:
    message( "Found environment variable LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}" )
    
  • 如果要添加此变量中包含的位置以供CMake目标可执行文件和库使用,则可以将link_directories()命令用作
    link_directories( $ENV{LD_LIBRARY_PATH} )
    
  • 或者,如果您有其他人的项目,并且想要指示CMake在其他目录中查找库,则可以使用CMAKE_PREFIX_PATHCMAKE_LIBRARY_PATH。例如,要在命令行中传递这些变量,您可以执行
    cmake -D CMAKE_PREFIX_PATH=/path/to/custom/location
    
  • 关于build - 如何使CMake使用环境变量LD_LIBRARY_PATH和C_INCLUDE_DIRS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51451746/

    相关文章:

    opencv - 无法在Fedora 19上使用CUDA 5.5编译OpenCV 2.4.6

    Android 库项目自定义构建

    visual-studio-2012 - 如何在 VS C++ 项目中使用 luasocket,从 LuaForWindows 找到 luasocket.h 或为 Lua 5.2 构建 LuaSocket

    cmake - 多个子项目依赖于同一个库

    java - Jenkins 文件 : varibale not "parsed" inside SSH command

    c++ - Google 测试独立项目 - 如何让测试针对 C++ 项目运行

    opencv - 将Cmake与PCL和OpenCV一起使用

    c - 二进制环境变量和 setenv()

    gradle - 在Gradle中,有没有更好的方法来获取环境变量?