使用 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 位
和
克里昂2021.2
构建 #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)
这是我的第一个 Whosebug post 因为我真的需要一些建议我在网上也找不到任何东西,除了导入 .dll 文件但没有关于如何做的明确说明。我什至不确定那是不是我的问题。如果有人能帮助我,我真的很感激,我只是想在我的程序中添加一些有趣的音效。我希望我提供了你需要知道的一切:)。
*编辑:
我在工作目录中添加了 2 个 .dll 文件:
Working Directory
请参阅 SFML 站点上的文档:
https://www.sfml-dev.org/download/sfml/2.5.1/
The compiler versions have to match 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.
所以我解决了这个问题。感谢Retired Ninja的帮助。我将 openal32.dll 文件放入与可执行文件 (.exe) 相同的目录中,这解决了问题,我现在可以播放声音了。
再次感谢大家。 :)
Picture of the working Directory with the .dll
我正在使用以下 C++ 编译器
- MinGW-W64-builds-4.3.4
在 Windows 10 上使用以下 SFML 库
- SFML-2.5.1-windows-gcc-7.3.0-mingw-32 位
和 克里昂2021.2 构建 #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)
这是我的第一个 Whosebug post 因为我真的需要一些建议我在网上也找不到任何东西,除了导入 .dll 文件但没有关于如何做的明确说明。我什至不确定那是不是我的问题。如果有人能帮助我,我真的很感激,我只是想在我的程序中添加一些有趣的音效。我希望我提供了你需要知道的一切:)。
*编辑:
我在工作目录中添加了 2 个 .dll 文件:
Working Directory
请参阅 SFML 站点上的文档:
https://www.sfml-dev.org/download/sfml/2.5.1/
The compiler versions have to match 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.
所以我解决了这个问题。感谢Retired Ninja的帮助。我将 openal32.dll 文件放入与可执行文件 (.exe) 相同的目录中,这解决了问题,我现在可以播放声音了。
再次感谢大家。 :)
Picture of the working Directory with the .dll