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 >::vector<int,class
std::allocator >(void)”
(??0?$vector at HV?$allocator at H@std@@@std@@QAE at XZ) main.obj
The program now looks like the following:
#include
#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 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
::_Vector_const_iterator<int,class std::allocator >(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:
- Remove the unnecessary #includes (<windows.h> and <stdio.h>);
- Make sure SDLmain.lib is being linked to your application;
- 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
//SDL related libraries
#include <stdio.h>
#include <SDL/SDL.h>
using namespace std;
int main( int argc, char* args[] )
{
vector 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
::_Vector_const_iterator<int,class std::allocator >(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