我尝试在this教程之后使用Clion测试SFML。我用SFML示例得到了最后一部分。它编译没有错误,它看到了SFML,但是当我运行实际程序时,我得到的是:
C:\Users\yurys\CLionProjects\SFMLDemo\cmake-build-debug\SFMLDemo.exe
Process finished with exit code -1073741515 (0xC0000135)
根据教程我想看new window。
我将MinGW32与gcc 5.3.0一起使用,因此我安装的SFML版本与之匹配。我安装了另一个版本以与Visual Studio 2017一起使用。
我的CMake文件如下:
cmake_minimum_required(VERSION 3.6)
project(SFMLDemo)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
add_executable(SFMLDemo ${SOURCE_FILES})
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules")
find_package(SFML REQUIRED system window graphics network audio)
link_directories("C:/Clion_SFML/") #Path to the SFML Libraries
if (SFML_FOUND)
include_directories(${SFML_INCLUDE_DIR})
target_link_libraries(SFMLDemo ${SFML_LIBRARIES})
endif()
代码:
#include <SFML/Graphics.hpp>
int main() {
sf::RenderWindow window(sf::VideoMode(640,480,32),"Hello SFML");
sf::Font font;
font.loadFromFile("OpenSans-Bold.ttf");
sf::Text text("Hello World",font,11);
text.setCharacterSize(32);
text.setPosition(window.getSize().x/2 - text.getGlobalBounds().width/2,
window.getSize().y/2 - text.getGlobalBounds().height/2);
while(window.isOpen()){
sf::Event event;
while(window.pollEvent(event)) {
if(event.type == sf::Event::Closed){
window.close();
}
window.clear(sf::Color::Black);
window.draw(text);
window.display();
}
}
return 0;
}
答案 0 :(得分:0)
在评论中回答,但我会将其作为答案提交,以便其他人更明白:
在这种情况下,SFML是动态链接的。确保SFML所需的正确.DLL与可执行文件位于同一目录中。