0

Подключил заголовочные файлы, в свойствах проекта подключил макрос SFML_STATIC, добавил дополнительные каталоги библиотек (SFML-2.5.1\lib и SFML-2.5.1\bin (пробовал и без последнего, результат тот же)), добавил дополнительный каталог включаемых файлов (SFML-2.5.1\include) и добавил дополнительные зависимости:

  • sfml-graphics-s-d.lib
  • sfml-window-s-d.lib
  • sfml-system-s-d.lib
  • opengl32.lib
  • freetype.lib
  • winmm.lib
  • gdi32.lib
  • openal32.lib
  • flac.lib
  • vorbisenc.lib
  • vorbisfile.lib
  • vorbis.lib
  • ogg.lib

Конфигурация решения Debug x64. Выдаёт следующий вывод:

Сборка начата…
1>------ Сборка начата: проект: BS, Конфигурация: Debug x64 ------
1>Source.cpp
1>Source.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __cdecl sf::Music::Music(void)" (??0Music@sf@@QEAA@XZ) в функции main.
1>Source.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: virtual __cdecl sf::Music::~Music(void)" (??1Music@sf@@UEAA@XZ) в функции main.
1>Source.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: bool __cdecl sf::Music::openFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?openFromFile@Music@sf@@QEAA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) в функции main.
1>D:\File Storage\University\ИТ\BattleShip\BS\x64\Debug\BS.exe : fatal error LNK1120: неразрешенных внешних элементов: 3
1>Сборка проекта "BS.vcxproj" завершена с ошибкой.
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Код выглядит следующим образом:

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

using namespace sf;

int main() { RenderWindow window(VideoMode(1920, 1080), "FUCK!!"); CircleShape shape(100.f); shape.setFillColor(Color::Green);

Texture Ship;
Ship.loadFromFile(&quot;Pics/ship.png&quot;);
Sprite sprite(Ship);

Music music;
music.openFromFile(&quot;Sounds/1.mp3&quot;);
music.play();

while (window.isOpen())
{
    Event event;
    while (window.pollEvent(event))
    {
        if (event.type == Event::Closed)
        {
            window.close();
        }       
    }

    window.clear();
    window.draw(shape);
    window.draw(sprite);
    window.display();
}
return 0;

}

Проблема возникла непосредственно при создании объекта Music, если строки с ним закомментировать, всё работает.

SomeMan
  • 51

0 Answers0