簡體   English   中英

使用 SFML/Audio.hpp(建築工程)時,我的 c++ 程序立即崩潰

[英]My c++ program crashes instantly when using SFML/Audio.hpp (Building works)

我正在使用以下 c++ 編譯器

  • MinGW-W64-builds-4.3.4

在 Windows 10 上使用以下 SFML 庫

  • SFML-2.5.1-windows-gcc-7.3.0-mingw-32 位

和 CLion 2021.2 Build #CL-212.4746.93

我的 CMakeLists.txt 看起來像這樣:

cmake_minimum_required(VERSION 3.20)
project(SFML_Audio_Error)

set(CMAKE_CXX_STANDARD 14)

add_executable(SFML_Audio_Error main.cpp)

set(SFML_STATIC_LIBRARIES TRUE)
set(SFML_DIR C:/SFML/lib/cmake/SFML)
find_package(SFML COMPONENTS system window graphics audio network REQUIRED)

include_directories(c:/SFML/include)

target_link_libraries(SFML_Audio_Error sfml-system sfml-window sfml-graphics sfml-audio)

我使用以下代碼:

#include <iostream>
#include <SFML/Audio.hpp>

int main() {
    sf::Music test;
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

取線時

sf::Music test;

代碼正常工作,使用該行時出現以下 Clion 錯誤

Process finished with exit code -1073741515 (0xC0000135)

這是我的第一篇 stackoverflow 帖子,因為我真的需要一些建議,我在網上也找不到任何東西,除了導入 .dll 文件,但沒有關於如何做到這一點的明確說明。 我什至不確定這是否是我的問題。 如果有人可以幫助我,我真的很感激,我只是想在我的程序中添加一些有趣的音效。 我希望我提供了你需要知道的一切:)。

*編輯:

我在工作目錄中添加了 2 個 .dll 文件:

工作目錄

請參閱 SFML 網站上的文檔:

https://www.sfml-dev.org/download/sfml/2.5.1/

編譯器版本必須 100% 匹配!

你說你正在使用

  • MinGW-W64-builds-4.3.4
  • SFML-2.5.1-windows-gcc-7.3.0-mingw-32 位

如果不研究 MinGW-W64-builds-4.3.4 的確切含義(網絡搜索不確定),這看起來與 windows-gcc-7.3.0-mingw-32-bit 不同。

所以我解決了這個問題。 感謝退休忍者的幫助。 我將 openal32.dll 文件放在與可執行文件 (.exe) 相同的目錄中,這解決了問題,我現在可以播放聲音了。

再次感謝大家。 :)

帶有 .dll 的工作目錄的圖片

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM