我需要按来源安装SFML,但由于未安装软件包,因此无法运行cmake(xcb-image)
我按来源安装了这个软件包,但是如何告诉CMake这个软件包已经安装,他需要查看一个特殊的目录?
if(NOT SFML_OPENGL_ES)
find_package(OpenGL REQUIRED)
include_directories(${OPENGL_INCLUDE_DIR})
if(SFML_OS_LINUX OR SFML_OS_FREEBSD)
find_package(XCB COMPONENTS xlib_xcb image randr REQUIRED)
if(NOT LIBXCB_FOUND)
message(FATAL_ERROR "Xcb library not found")
endif()
include_directories(${LIBXCB_INCLUDE_DIRS})
endif()
endif()
我没有超级用户权限。
答案 0 :(得分:1)
尝试将xcb
/include
和/lib
目录添加到您的CMake列表中,添加以下行:
INCLUDE_DIRECTORIES(/path/to/your/xcb/include)
LINK_DIRECTORIES(/path/to/your/xcb/lib)
否则,如果这不起作用并且您有cxb的cmake文件(如xcb.cmake),请在项目根目录下创建名为cmake / Modules /的文件夹,在其下添加xcb.cmake
文件夹,并在根CMakeLists.txt中包含以下代码:
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
为了更好地理解,请查看CMake:How To Find Libraries
希望有所帮助!