2016-12-22 1 views
-1

Я пытаюсь заставить свою программу разрешить использовать входные и выходные потоки C++ для целей отладки, но это не сработает?Ошибка компоновщика LNK2019 при включении SDL.h

Мой код:

#include <SDL.h> 
#include <iostream> 

using namespace std; 


int main() 
{ 
    cout << "I work!"; 

    return 0; 
} 

То есть все, что я есть, и он не будет работать. Я планирую использовать SDL для создания небольшой игры с шашками, но я бы хотел использовать <iostream> для отладки.

Вот мои ошибки:

error LNK2019: unresolved external symbol _SDL_main referenced in function _main_utf8 

fatal error LNK1120: 1 unresolved externals 
+0

Попробуйте добавить '#undef main' после ваших' # include' директив. Если это исправляет проблему, заголовок SDL имеет '#define main something' в нем, и вам нужно связать с библиотеками SDL для того, чтобы вещи могли успешно связываться. – Praetorian

+0

Это не исправить. –

+1

Ну, вам нужно связать с некоторой библиотекой SDL. Их документация должна иметь такую ​​информацию, и Google может помочь вам разобраться, как связать библиотеки в Visual Studio. – Praetorian

ответ

1

Это охватываемые FAQ:

Убедитесь, что вы объявляете основной() как:

Int основной (межд argc, char * argv [])

Поскольку SDL_main не является специальным именем, известным компилятору C++, он управляет его по общим правилам. SDL имеет форвардную декларацию с правильными флагами связывания (не менее extern "C") только для int SDL_main(int, char**).

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