[SDL] Can't use vector push_back with SDL
Glenn McCord
clari_player at paradise.net.nz
Sun Jul 23 15:52:25 PDT 2006
I don't know why it wasn't linking to SDLmain before but it is working now.
So now I've explicitly linked to the two SDL libraries and removed the
two unnecessary headers. However if I go
/NODEFAULTLIB:msvcrt.lib at Linker -> Command Line -> Additional Dependencies
I go from 2 errors to 22. The first few are
Error 1 error LNK2019: unresolved external symbol __RTC_CheckEsp
referenced in function _SDL_main main.obj
Error 2 error LNK2019: unresolved external symbol
@_RTC_CheckStackVars at 8 referenced in function _SDL_main main.obj
Error 3 error LNK2001: unresolved external symbol __RTC_Shutdown
main.obj
Error 4 error LNK2001: unresolved external symbol __RTC_InitBase
main.obj
Error 5 error LNK2019: unresolved external symbol
___security_cookie referenced in function "public: __thiscall
std::vector<int,class std::allocator<int> >::vector<int,class
std::allocator<int> >(void)"
(??0?$vector at HV?$allocator at H@std@@@std@@QAE at XZ) main.obj
The program now looks like the following:
#include <vector>
#pragma comment(lib,"SDL.lib")
#pragma comment(lib,"SDLmain.lib")
#pragma comment(lib,"opengl32.lib")
#include <SDL/SDL.h>
using namespace std;
int main( int argc, char* args[] )
{
vector<int> vList;
vList.push_back(2);
return 0;
}
which still throws these two errors
Error 1 error LNK2019: unresolved external symbol
__imp___CrtDbgReportW referenced in function "public: __thiscall
std::_Vector_const_iterator<int,class std::allocator<int>
>::_Vector_const_iterator<int,class std::allocator<int> >(int *,class
std::_Container_base const *)"
(??0?$_Vector_const_iterator at HV?$allocator at H@std@@@std@@QAE at PAHPBV_Container_base@1@@Z)
main.obj
Error 2 fatal error LNK1120: 1 unresolved externals
C:\Documents and Settings\Glenn McCord\Desktop\Copy of
715_SDL\Debug\GraphicsPractise.exe 1
Thanks
Glenn
Alex (aka Majin) wrote:
> Hi, Glenn!
> Try this:
>
> 1) Remove the unnecessary #includes (<windows.h> and <stdio.h>);
> 2) Make sure SDLmain.lib is being linked to your application;
> 3) Add /NODEFAULTLIB:msvcrt.lib at Linker -> Command Line
>
> Goodbye!
>
>--- Glenn McCord <clari_player at paradise.net.nz> escreveu:
>
>
>
>>I'm struggling to get rid of my LINK errors and I've isolated it to
>>the
>>use of vector's push_back(). I would really like to use it so any
>>help
>>would be appreciated.
>>
>>I'm using Visual Studio 2005 and I've scaled my program all the way
>>down
>>to this:
>>
>>#include <windows.h>
>>#include <vector>
>>
>>//SDL related libraries
>>#include <stdio.h>
>>#include <SDL/SDL.h>
>>
>>using namespace std;
>>
>>int main( int argc, char* args[] )
>>{
>> vector<int> vList;
>> vList.push_back(2);
>> return 0;
>>}
>>
>>
>>Not much to look at but it throws these errors
>>Error 1 error LNK2019: unresolved external symbol
>>__imp___CrtDbgReportW referenced in function "public: __thiscall
>>std::_Vector_const_iterator<int,class std::allocator<int>
>> >::_Vector_const_iterator<int,class std::allocator<int> >(int
>>*,class
>>std::_Container_base const *)"
>>
>>
>>
>(??0?$_Vector_const_iterator at HV?$allocator at H@std@@@std@@QAE at PAHPBV_Container_base@1@@Z)
>
>
>>
>>main.obj
>>
>>Error 2 error LNK2019: unresolved external symbol _SDL_main
>>referenced in function _main SDLmain.lib
>>
>>If I comment out vList.push_back(2); then the program compiles
>>
>>I have done:
>>Linker->Input->Additional Dependencies = SDL.lib SDLmain.lib
>>Runtime library = Multi-threaded DLL (/MD)
>>
>>I figured half a day trying was long enough so here I am, posting to
>>a
>>mailing list.
>>
>>Thanks,
>>
>>Glenn
>>
>>
>>_______________________________________________
>>SDL mailing list
>>SDL at libsdl.org
>>http://www.libsdl.org/mailman/listinfo/sdl
>>
>>
>>
>
>
>
>
>_______________________________________________________
>Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora!
>http://br.mobile.yahoo.com/mailalertas/
>
>
>
>_______________________________________________
>SDL mailing list
>SDL at libsdl.org
>http://www.libsdl.org/mailman/listinfo/sdl
>
>
>
>
More information about the SDL
mailing list