首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMake找不到SFML

CMake找不到SFML
EN

Stack Overflow用户
提问于 2022-09-23 10:19:03
回答 1查看 62关注 0票数 0

我有一个项目依赖于C++上的SFML。我试着用CMake来实现它。CMakeLists.txt是:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.16.3)
project(3D_Renderer_from_scratch)

set(CMAKE_CXX_STANDARD 17)

include_directories(headers source)

set(SFML_STATIC_LIBRARIES TRUE)

find_package(SFML COMPONENTS window graphics system)

set(SOURCES
        Main.cpp
        source/Application.cpp
        source/Box.cpp
        source/Camera.cpp
        source/FileReader.cpp
        source/KeyboardHandler.cpp
        source/Sphere.cpp
        source/Triangle.cpp
        source/Window.cpp
        source/World.cpp
        )

add_executable(executable ${SOURCES})

target_link_libraries(executable ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})

在运行cmake .之后,我有以下错误:

代码语言:javascript
复制
$ cmake .
-- Requested SFML configuration (Static) was not found
CMake Warning at CMakeLists.txt:10 (find_package):
  Found package configuration file:

    /usr/lib/x86_64-linux-gnu/cmake/SFML/SFMLConfig.cmake

  but it set SFML_FOUND to FALSE so package "SFML" is considered to be NOT
  FOUND.


-- Configuring done
-- Generating done
-- Build files have been written to: /home/mcjohn974/3D_Renderer_from_scratch

我怎么才能修好它?(sfml已经安装)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-27 07:55:01

正如注释中已经提到的(为什么不把它写成答案呢?),CMake正在寻找静态的SFML库,它很可能只是找到了共享库。

要么确保提供静态库(带有-s后缀的库)。

或者不要请求静态库,这样可以实现不设置SFML_STATIC_LIBRARIES

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73826266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档