【问题标题】:gcc: "cannot find -lasound" when compiling on Windowsgcc:在 Windows 上编译时“找不到 -lasound”
【发布时间】:2020-06-06 18:09:59
【问题描述】:

我正在 Windows 上编译一个 C++ 程序。该程序使用 SDL2 库。我运行以下 pkg-config 命令来获取正确的标志以传递给 GCC 编译器。

$ pkg-config sdl2 --cflags --libs

给出输出

-lpthread -lasound -IC:/sdl2/include/SDL2 -LC:/sdl2/lib -lSDL2

但是,当使用 GCC 的这些标志时,程序无法编译,出现错误

找不到 -lasound

这是我需要获取才能使用 SDL2 的库,还是我在某处犯了错误?

【问题讨论】:

  • 嗯?它给了我-lmingw32 -lSDL2main -lSDL2 -mwindows,没有提到-lasound。您从哪里获得 SDL2? sdl2.pc的内容是什么?
  • @HolyBlackCat 我通过 Windows 包管理器 Scoop 获得了 SDL2。 sdl2.pc的内容是```#sdl pkg-config源文件prefix=exec_prefix=${prefix} libdir=${exec_prefix}/lib Includedir=${prefix}/include 名称:sdl2 描述:Simple DirectMedia层是一个跨平台的多媒体库,旨在通过 OpenGL 和 2D 视频帧缓冲区提供对音频、键盘、鼠标、操纵杆、3D 硬件的低级访问。版本:2.0.10 要求:冲突:库:-L${libdir} -lSDL2 Libs.private:-lSDL2 Cflags:-I${includedir}/SDL2 -lpthread -lasound ```
  • 我想这一定是 Scoop 提供的 SDL2 版本的问题。
  • 是的,要么您不小心修改了此文件,要么 Scoop 运送了损坏的文件。我建议下载 SDL2 的官方二进制文件,或者使用 MSYS2 包。
  • 会的。感谢您的帮助。

标签: c++ gcc sdl sdl-2 pkg-config


【解决方案1】:

GCC 没有找到这个库。找到文件 libcomdlg32.a 并找到你的 -lasound 文件并将 -lasound 文件复制到文件夹中,其中 libcomdlg32.a 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多