运行 SFML 图形后看不到新窗口
Can't see a new window after running SFML graphics
我试图按照本教程使用 Clion 测试 SFML。我用 SFML 示例进入了最后一部分。它编译没有错误,它看到 SFML,但是当我运行实际程序时,我得到的只是:
C:UsersyurysCLionProjectsSFMLDemocmake-build-debugSFMLDemo.exe
Process finished with exit code -1073741515 (0xC0000135)
根据教程,我应该会看到一个新窗口。
我将 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;
}
在评论中回答,但我会将其作为答案提交,以便其他人更容易看到它:
在这种情况下,SFML 是动态链接的。确保正确的 .SFML 所需的 DLL 与可执行文件位于同一目录中。
相关文章:
- 如何使用Qt在新窗口中显示视频帧
- Qt5 C++将新窗口与Qt设计器链接
- 在SFML(C++)中启动一个新窗口
- Qt将鼠标移动事件转移到新窗口
- 在Clion的新窗口中创建一个新项目
- 如何在Qt中打开新窗口的情况下更改UI?
- 朱奇 - 制作一个新窗口
- 设置 VLC drawable-hwnd 仍会创建一个新窗口
- 运行 SFML 图形后看不到新窗口
- 如何在Mac上打开Carbon中的C++新窗口
- 在Qt中单击QTableView中行的特定单元格时,打开一个新窗口
- 具有控制台输出且没有新窗口的 Win32 应用程序
- C++输出信息到新窗口
- qwebview,如何确定此链接是否为新窗口
- 离开全屏后,QVideOwidget是新窗口
- CreateProcess( ) 不会创建一个带有CREATE_NEW_CONSOLE标志的新窗口 - C/C++
- Qt正在设置新窗口
- 使用SW_HIDE样式使浏览器打开新窗口
- 从窗口 QT 打开新窗口
- C++ WinApi 绘制图像.jpg到新窗口