簡體   English   中英

鏈接SFML-音頻時的C ++未定義參考

[英]C++ Undefined reference when linking sfml-audio

我正在嘗試在我的C ++程序中使用SFML音頻。 我正在使用Windows 10和mingw64的g ++版本5.2.0。 奇怪的是,我只能鏈接sfml-audio。 我可以在頁面上編譯並運行該程序,但是它不使用音頻。 (該頁面適用於Linux用戶,但是我只看那里的示例進行嘗試。)

但是,當我嘗試編譯該程序時,sfml_test.cpp:

#include <SFML/Audio.hpp>

int main()
{
    sf::SoundBuffer buffer;
    if (!buffer.loadFromFile("sound.wav"))
        return -1;

    return 0;
}

在終端中使用此命令:

g++ sfml_test.cpp -lsfml-audio -lsfml-system

我收到此錯誤:

C:\Users\sudgy\AppData\Local\Temp\ccZW1WAC.o:sfml_test.cpp:(.text+0x54): undefined reference to `_imp___ZN2sf11SoundBuffer12loadFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
collect2.exe: error: ld returned 1 exit status

怎么了 我認為這是我安裝庫的問題,但是上面的圖形示例運行良好。 如果你需要的話,我下載了它從這個頁面,使用Windows節左下角下載。

謝謝!

好消息。 4.9.2 MinGW您為5.2.0 MinGW編譯器下載了這些預編譯的二進制文件。 這就是為什么您遇到問題。 我與字符串或字符有關。

解。 使用cmake使用編譯器5.2.0 MinGW從源代碼進行構建。

壞消息。 我不知道如何使用cmake,偶然發現了這個問題,尋找答案。 讓我知道你做了什么。 我也有相同的編譯器。

暫無
暫無

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

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