通过vcpkg安装的SFML项目使用CMake配置编译失败求助
用CMake配置vcpkg安装的SFML项目失败,编译时找不到头文件
我在Visual Studio Code中尝试通过CMake配置使用vcpkg安装的SFML项目,折腾了几周、看了不少教程还是没法正常运行。
项目目录结构
- \build - \cmake_modules - FindSFML.cmake - CMakeLists.txt - main.cpp
我的CMakeLists.txt内容
cmake_minimum_required(VERSION 3.0) set(CMAKE_CXX_STANDARD 20) project(demo) set(CMAKE_PREFIX_PATH "C:/src/vcpkg/installed/x64-windows/share") set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules") find_package(SFML COMPONENTS system window graphics audio CONFIG REQUIRED) include_directories(${SFML_INCLUDE_DIR}) add_executable(${PROJECT_NAME} src/main.cpp) target_link_libraries(${PROJECT_NAME} ${SFML_LIBRARIES})
我已经用vcpkg install sfml:x64-windows命令安装了SFML,知道vcpkg可以通过set(CMAKE_TOOLCHAIN_FILE path/to/vcpkg.cmake)或者设置CMAKE_PREFIX_PATH来配置,但两种方式都没效果。有人说需要设置CMAKE_MODULE_PATH并搭配FindSFML.cmake文件,但最近的说法是不用这么做——可如果移除这个配置,CMake会提示找不到SFML。
现在执行cmake -G "MinGW Makefiles"能正常完成配置,输出如下:
-- Found SFML 2.6.0 in C:/src/vcpkg/installed/x64-windows/share/sfml -- Configuring done (0.1s) -- Generating done (0.1s) -- Build files have been written to: C:path/to/build
但执行mingw32-make时,main.cpp首行#include <SFML/Graphics.hpp>报错:
fatal error: SFML/Graphics.hpp: No such file or directory compilation terminated. mingw32-make[2]: *** [CMakeFiles\demo.dir\build.make:75: CMakeFiles/demo.dir/src/main.cpp.obj] Error 1 mingw32-make[1]: *** [CMakeFiles\Makefile2:82: CMakeFiles/demo.dir/all] Error 2 mingw32-make: *** [makefile:90: all] Error 2
完全不知道该怎么完成配置并运行一个简单的SFML窗口。
内容的提问来源于stack exchange,提问作者Kylian Sanz
相关产品推荐
相关产品推荐

