/ / Problemi di conversione da Visual Studio 2013 a Visual Studio 2015 - c ++, visual-studio, visual-studio-2013, visual-studio-2015

Problemi di conversione da Visual Studio 2013 a Visual Studio 2015 - c ++, visual-studio, visual-studio-2013, visual-studio-2015

Ho un grosso programma in C ++ che fino a questopunto su cui ho lavorato utilizzando VS 2013 Express. La versione di prova è terminata quindi ho deciso di passare a VS 2015 Professional. Quando provo a compilare e eseguire il debug dello stesso codice esatto che funziona perfettamente su VS 2013, ottengo questi errori. Come posso fare questo lavoro?

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

risposte:

4 per risposta № 1

SFML sembra annotare alcune classi in modo che tuttoi loro membri sono inseriti nella DLL. Tuttavia, VS2015 ora genera i costruttori di mosse e gli operatori di spostamento delle mosse, che VS2013 non ha, e sembra che la libreria non lo gestisca correttamente. Tutti i simboli mancanti sono queste nuove funzioni.

In particolare, sembra che il compilatore non l'abbia fattogenerare implementazioni nel programma client, poiché si aspettava che esistessero nella DLL, ma non esistono nella DLL. Hai ricompilato la DLL o stai utilizzando la stessa che stavi utilizzando per VS2013? potrebbe portare a questo errore.