1
Graphics / Linking error (LNK 2019) with sf::Sprite
« on: November 02, 2018, 09:58:16 pm »
After working with a project for quite while now using SFML these come up.
Here Undead is a class with a constructor like,
Then I've used a vector of it (in another class/file) and pushed versions of it like this
What's worse is that it compiles and runs fine on my friends computer. The same code. I've tried to mimic all configurations his VS / SFML setup has to no avail. I even re-downloaded and setup SFML.
Few things:
1. SFML version : 2.5.0
2. Visual Studio 2017
3. I've not set SFML_STATIC (I don't want or need static linking)
4. All the sfml dlls are in the folder where the .exe file is supposed to be
5. I haven't faced this issue before in SFML and I've been using SFML for quite a while now.
(provided I did not have to make a vector of objects with sf::Sprite objects as members)
6. It works fine on my friends computer (same SFML version and VS)
Code: [Select]
Severity Code Description Project File Line Suppression State
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 Boss2::Undead::Undead(class Boss2::Undead &&)" (??0Undead@Boss2@@QAE@$$QAV01@@Z) Somber C:\Users\\Documents\Visual Studio 2017\TEAM\Somber\Boss2.obj 1
Severity Code Description Project File Line Suppression State
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 Boss2::Undead & thiscall Boss2::Undead::operator=(class Boss2::Undead &&)" (??4Undead@Boss2@@QAEAAV01@$$QAV01@@Z) Somber C:\Users\\Documents\Visual Studio 2017\TEAM\Somber\Boss2.obj 1
Here Undead is a class with a constructor like,
Code: [Select]
Undead(sf::Texture *texture1, sf::Texture *texture2, sf::Texture *texture3);
It has an sf::Sprite member. This sets one of the 3 textures to the sprite member based on some internal calculations.Then I've used a vector of it (in another class/file) and pushed versions of it like this
Code: [Select]
std::vector <Undead> zombies;
zombies.push_back(Undead(&undeadTexture1, &undeadTexture2, &undeadTexture3));
What's worse is that it compiles and runs fine on my friends computer. The same code. I've tried to mimic all configurations his VS / SFML setup has to no avail. I even re-downloaded and setup SFML.
Few things:
1. SFML version : 2.5.0
2. Visual Studio 2017
3. I've not set SFML_STATIC (I don't want or need static linking)
4. All the sfml dlls are in the folder where the .exe file is supposed to be
5. I haven't faced this issue before in SFML and I've been using SFML for quite a while now.
(provided I did not have to make a vector of objects with sf::Sprite objects as members)
6. It works fine on my friends computer (same SFML version and VS)