【问题标题】:CMake 64-bit with SFML 64-bitCMake 64 位和 SFML 64 位
【发布时间】:2019-07-09 00:18:21
【问题描述】:

我正在尝试使用适用于 Windows 的 64 位 CMake 和 64 位 SFML 2.5.1 构建一个 C++ 项目。当我在项目上运行 cmake 时,我收到一条错误消息。

我可以让它工作的唯一方法是将 CMAKE_PREFIX_PATH 更改为指向 SFML 的 32 位版本,但这不是我想要的。

CMakeLists.txt:

cmake_minimum_required (VERSION 3.8)

#project(GameOfLife)

set(CMAKE_PREFIX_PATH "D:\\Program Files\\SFML-2.5.1\\lib\\cmake\\SFML")

find_package(SFML 2.5 COMPONENTS graphics window REQUIRED)

# Add source to this project's executable.
add_executable (GameOfLife "GameOfLife.cpp" "GameOfLife.h")

# Link SFML
target_link_libraries(GameOfLife sfml-graphics sfml-window)

错误信息:

CMakeLists.txt:16 (find_package) 处的 CMake 错误:找不到 与兼容的包“SFML”的配置文件 请求版本“2.5”。

已考虑但未接受以下配置文件:

D:/Program Files/SFML-2.5.1/lib/cmake/SFML/SFMLConfig.cmake,版本: 2.5.1(64位)

【问题讨论】:

  • 在这种情况下,CMake 是否为 64 位并不重要。您的工具链必须配置为构建 64 位二进制文​​件。从错误和您对解决方法的描述来看,您似乎使用的是 32 位工具链。
  • 那么我该如何使用 64 位工具链呢?

标签: c++ cmake sfml


【解决方案1】:

我遇到了同样的问题,经过一番调查,我明白 Stanley 的评论是正确的。要使用 64 位工具链,只需运行:

cmake -G "Visual Studio 15 2017 Win64" ..

对于 32 位 SFML 版本,只需简单运行即可:cmake ..

【讨论】:

    猜你喜欢
    • 2013-03-24
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多