![](/img/trans.png)
[英]Why is cmake finding 32-bit libraries instead of 64-bit libs on a 64-bit system?
[英]CMake 64-bit with SFML 64-bit
我正在嘗試使用適用於 Windows 的 CMake 64 位和 SFML 2.5.1 64 位構建一個 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 錯誤:找不到與請求的版本“2.5”兼容的包“SFML”的配置文件。
以下配置文件被考慮但未被接受:
D:/Program Files/SFML-2.5.1/lib/cmake/SFML/SFMLConfig.cmake,版本:2.5.1(64位)
我遇到了同樣的問題,經過一番調查,我明白斯坦利的評論是正確的。 要使用 64 位工具鏈,只需運行:
cmake -G "Visual Studio 15 2017 Win64" ..
對於 32 位 SFML 版本,簡單地運行就足夠了: cmake ..
這個問題在 CLion 上發生在我身上,在我的例子中,我為 MinGW-64 下載了 SFML,但默認工具鏈配置為 Visual Studio。
我通過轉到文件->設置->構建、執行、部署->工具鏈,單擊 MinGW 然后向上箭頭解決了這個問題,使 MinGW 成為默認工具鏈。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.