[英]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.