Я использую Eclipse CDT 64bit с MinGW и SDL. Я уже читал, что SDL «умно» переопределяет метод main, и что иногда точно добавить #undef main, чтобы использовать мой собственный main cpp. Я уже сделал это, но когда я пытаюсь запустить свое приложение, мое основное полностью игнорируется (я ставлю некоторые контрольные точки, чтобы понять это).
Мой основной метод выглядит так:
#include "SDL/SDL.h"#include "SDL/SDL_image.h"
#undef main
using namespace std;
int main(int argc, char* argv[])
{
if (SDL_Init(SDL_INIT_EVERYTHING) == -1) {
printf("Error: %s\n", SDL_GetError());
return 1;
}
SDL_WM_SetCaption( "MarioKong", NULL );
В свойствах моего проекта я определил библиотеки MinGW C ++ Linker следующим образом: mingw32, SDLMain, SDL, SDL_image. Я следовал указаниям по установке SDL, как указано на (lazyfoo)
Как я могу запустить МОЙ основной файл?
умный способ переопределения main состоит в том, что у вас есть одна и та же функция main на всех платформах, и вы можете использовать ее везде. Так что нет #ifdef win32 WinMain, остальное main и т. Д. И вы можете использовать аргументы командной строки одинаково на всех платформах. Поэтому я советую придерживаться «int main (int argc, char * argv [])» и не использовать команду #undef main
Других решений пока нет …