[SDL] Can't use vector push_back with SDL

Glenn McCord clari_player at paradise.net.nz
Sun Jul 23 01:10:09 PDT 2006


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





More information about the SDL mailing list