[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