【问题标题】:Cmake can't link to SFMLCmake 无法链接到 SFML
【发布时间】:2020-06-19 02:29:40
【问题描述】:

我的 cmake 看到了 SFML,但不想使用它。请帮助。 主文件夹中的 CmakeLists:

cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
project(sfml-lab-1)
add_subdirectory(00)

00 文件夹中的 CmakeLists

find_package(SFML 2.5.1 COMPONENTS graphics audio  PATHS C:/SFML-2.5.1/)
add_executable(00 main.cpp) 
target_link_libraries(00 sfml-graphics sfml-audio)

cmd 说的是什么:

d:\try_cmake>cmake --build .
CMake Warning at 00/CMakeLists.txt:1 (find_package):
Could not find a configuration file for package "SFML" that is compatible
with requested version "2.5.1".

  The following configuration files were considered but not accepted:

    C:/SFML-2.5.1/lib/cmake/SFML/SFMLConfig.cmake, version: 2.5.1 (64bit)



-- Configuring done
-- Generating done
-- Build files have been written to: D:/try_cmake
[ 50%] Building CXX object 00/CMakeFiles/00.dir/main.cpp.obj
D:\try_cmake\00\main.cpp:1:29: fatal error: SFML/Graphics.hpp: No such file or directory
 #include <SFML/Graphics.hpp>
                         ^
compilation terminated.

【问题讨论】:

  • 如果你使用版本2.5而不是2.5.1,它可以工作吗?
  • 您实际上是在将您的应用程序构建为 64 位版本吗?已安装的 SFML 版本提供 64 位配置,因此如果您将构建配置为 32 位(例如某些 Visual Studio 版本的默认配置),它将无法使用该库。

标签: windows cmake sfml


【解决方案1】:

帮助切换到 32 位版本而不是 64 位

【讨论】:

  • 这可能意味着您的 SFML 二进制文件是 32 位的。