Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为CMake';指定其他链接目录;s在linux上查找_包()_Cmake_Linker_Static Libraries - Fatal编程技术网

为CMake';指定其他链接目录;s在linux上查找_包()

为CMake';指定其他链接目录;s在linux上查找_包(),cmake,linker,static-libraries,Cmake,Linker,Static Libraries,我正在尝试使用CMake的find_package()命令链接库(SFML)。如果我将SFML的库直接放在/usr/local/lib文件夹中,所有这些都可以正常工作,但一旦我创建了一个子文件夹(出于组织目的),就会出现以下错误: CMake Error at cmake_modules/FindSFML.cmake:355 (message): Could NOT find SFML (missing: SFML_GRAPHICS_LIBRARY SFML_WINDOW_LIBRARY

我正在尝试使用CMake的find_package()命令链接库(SFML)。如果我将SFML的库直接放在/usr/local/lib文件夹中,所有这些都可以正常工作,但一旦我创建了一个子文件夹(出于组织目的),就会出现以下错误:

CMake Error at cmake_modules/FindSFML.cmake:355 (message):
  Could NOT find SFML (missing: SFML_GRAPHICS_LIBRARY SFML_WINDOW_LIBRARY
  SFML_SYSTEM_LIBRARY)
Call Stack (most recent call first):
CMakeLists.txt:11 (find_package)
然后我尝试搜索将新目录(顺便说一下,它只是/usr/local/lib/SFML)指定给find_package()函数的方法,但我发现似乎没有任何效果

CMakeLists.txt
#初始化项目
cmake_最低要求(3.10.0版)
项目(项目)
#编译器标志
套装(CMAKE_CXX_标准17)
设置(上需要CMAKE\U CXX\U标准)
#加载包
集合(CMAKE_模块_路径${CMAKE_当前_源_目录}/CMAKE_模块)
查找_包(SFML必需组件图形窗口系统)
#标题目录
include_目录(${SFML_include_DIR})
#项目目录
包含目录(标题)
#项目来源
文件(GLOB SRC SRC/*.cpp)
#创建可执行文件
添加_可执行文件(Proj${SRC})
#链接库
目标链接库(项目${SFML\u库}${SFML\u数据库})
在“查找”脚本之外,CMake不支持指定其他库的子目录。但您可以通过变量指定确切的库目录:

set(CMAKE_LIBRARY_PATH "/usr/local/lib/SFML")
find_package(SFML ...)

实际上,变量CMAKE_LIBRARY_PATH会影响
find_LIBRARY
调用,但大多数“find”脚本使用此命令搜索库