2016-05-28 2 views
1

я получаю эти ошибки:SDL неразрешенный внешний символ

error LNK2005: _main already defined in main.obj 
error LNK2019: unresolved external symbol _SDL_main referenced in function _main_utf8 
error LNK1120: 1 unresolved externals 

при создании этого

#include <stdio.h> 
#include <SDL.h> 

int main(int argc, const char* argv[]){ 
    printf("Hi\n"); 
    return 0; 
} 

Я создал каталоги и компоновщика в Visual Studio 2013, но я не могу выяснить, что пошло не так. Я использую 32-битную библиотеку времени исполнения SDL. Я также довольно новичок в C++.

+2

Возможный дубликат [Почему SDL определяет основной макрос?] (Http://stackoverflow.com/questions/11976084/why-sdl-defines-main-macro) –

ответ

1

Перед вашей основной функции, определить

#define SDL_MAIN_HANDLED 

Это останавливает «сервис» SDL по разбору командной строки для вас (только на окнах). Хотя это исправление, это плохо для кросс-платформенных программ. Другое исправление изменить основными, так что это выглядит следующим образом:

int main(int argc, char* argv[]) 

Вы должны сделать это из-за главным макросом, определенного в SDL_Main.h, что заставляет вас иметь точно, что в противном случае он даст вам ошибку вы иметь.

 Смежные вопросы

  • Нет связанных вопросов^_^