为CMake';指定其他链接目录;s在linux上查找_包()
我正在尝试使用CMake的find_package()命令链接库(SFML)。如果我将SFML的库直接放在/usr/local/lib文件夹中,所有这些都可以正常工作,但一旦我创建了一个子文件夹(出于组织目的),就会出现以下错误:为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 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”脚本使用此命令搜索库