我想在CLion中运行以下简单的C++SFML应用程序,但当我尝试这样做时,总是会收到错误消息
Test2.exe has stopped working
.
主要的cpp公司
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
这可能是CMake的问题,但我没有从CLion得到任何错误消息,所以我认为SFML是正确的。
CMakeLists。txt文件
cmake_minimum_required(VERSION 3.9)
project(Test2)
set(CMAKE_CXX_STANDARD 17)
add_executable(Test2 main.cpp)
set(SFML_ROOT "C:/Program Files/SFML-2.4.2")
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules")
find_package(SFML 2 REQUIRED graphics network audio window system)
if(SFML_FOUND)
include_directories(${SFML_INCLUDE_DIR})
target_link_libraries(${PROJECT_NAME} ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
endif()
我的SFML位于C:/Program Files/SFML-2.4.2中,我使用的是MinGW的最新版本(2.4.2)。我有以下MinGW版本:
MingGW configuration
. 我的操作系统是Windows 8.1 Enterprise。
CLion和SFML(使用代码::Blocks)分别可以完美地工作。
有什么我忘了添加到CMakeLists的吗。或者我应该修改CLion中的一些设置以使SFML工作?