/ / Проблеми перетворення з Visual Studio 2013 у Visual Studio 2015 - c ++, visual-studio, visual-studio-2013, visual-studio-2015

Проблеми перетворення з Visual Studio 2013 на Visual Studio 2015 - c ++, візуальну студію, візуальну студію-2013, візуальну студію-2015

У мене є масивна програма на C ++, яка до цього стосуєтьсяпункт Я працював над використанням VS 2013 Express. Пробна версія закінчилася, тому я вирішив перейти на VS 2015 Professional. Коли я намагаюся скласти та налагодити той самий точний код, який ідеально працює на VS 2013, я отримую ці помилки. Як я можу змусити цю роботу?

1main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall sf::RectangleShape::RectangleShape(class sf::RectangleShape &&)" (__imp_??0RectangleShape@sf@@QAE@$$QAV01@@Z) referenced in function "public: __thiscall entity::entity(class entity &&)" (??0entity@@QAE@$$QAV0@@Z)


1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class sf::RectangleShape & __thiscall sf::RectangleShape::operator=(class sf::RectangleShape &&)" (__imp_??4RectangleShape@sf@@QAEAAV01@$$QAV01@@Z) referenced in function "public: class entity & __thiscall entity::operator=(class entity &&)" (??4entity@@QAEAAV0@$$QAV0@@Z)


1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall sf::Sprite::Sprite(class sf::Sprite &&)" (__imp_??0Sprite@sf@@QAE@$$QAV01@@Z) referenced in function "public: __thiscall entity::entity(class entity &&)" (??0entity@@QAE@$$QAV0@@Z)


1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class sf::Sprite & __thiscall sf::Sprite::operator=(class sf::Sprite &&)" (__imp_??4Sprite@sf@@QAEAAV01@$$QAV01@@Z) referenced in function "public: class entity & __thiscall entity::operator=(class entity &&)" (??4entity@@QAEAAV0@$$QAV0@@Z)


1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall sf::Text::Text(class sf::Text &&)" (__imp_??0Text@sf@@QAE@$$QAV01@@Z) referenced in function "public: __thiscall entity::entity(class entity &&)" (??0entity@@QAE@$$QAV0@@Z)


1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class sf::Text & __thiscall sf::Text::operator=(class sf::Text &&)" (__imp_??4Text@sf@@QAEAAV01@$$QAV01@@Z) referenced in function "public: class entity & __thiscall entity::operator=(class entity &&)" (??4entity@@QAEAAV0@$$QAV0@@Z)


1>C:SFML-2.3.2SFMLDebugSFML.exe : fatal error LNK1120: 6 unresolved externals

Відповіді:

4 для відповіді № 1

Здається, що SFML коментує деякі класи, щоб усіїх членів розміщують у DLL. Однак VS2015 тепер генерує конструктори переміщення та оператори присвоєння переміщення, що VS2013 не робив "t", і, здається, бібліотека не справляється з цим правильно. Усі відсутні символи - це нові функції.

Зокрема, схоже, що компілятор не робив "tгенерувати реалізації в клієнтській програмі, оскільки очікували їх існування в DLL, але вони не існують у DLL. Ви перекомпілювали DLL чи ви використовуєте ту саму, яку використовували для VS2013? може призвести до цієї помилки.