Я использую следующий код (Allegro 4, C++) и получаю следующую ошибку:
#include <allegro.h>
//defines
#define MODE GFX_SAFE
#define WIDTH 640
#define HEIGHT 480
int main (void)
{
int ret;
int counter;
//initialize allegro
allegro_init();
install_keyboard();
install_timer();
srand(time(NULL));
//set up screen
//set video mode
ret = set_gfx_mode(MODE, WIDTH, HEIGHT, 0, 0);
if (ret != 0)
allegro_message(allegro_error);
allegro_exit();
return 0;
}
Ошибка:
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
Все предыдущие ответы относительно этой ошибки говорят мне переключиться на «Консоль» с «Windows»; но у меня уже есть «Консоль» в «Свойствах» -> «Компоновщик» -> «Система» -> «Подсистема».
Если у вас нет ответа, я был бы рад кое-чему, что я мог бы сделать, чтобы помочь сузить проблему: я использовал Allegro с C, но я хочу использовать C++, чтобы воспользоваться преимуществами ООП, и поэтому я все еще есть много работы, чтобы сделать.
Обновлять:
#include <iostream>
#include <allegro.h>
using namespace std;
int main ()
{
cout << "Hello World";
return 0;
}
не работает, но
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello World";
return 0;
}
делает.
Что теперь? Ответ: Начните с пустого проекта.
Update2: перезапущен с пустым проектом, тот же код. Первый блок (alleg.lib в компоновщике, но allegro.h не включен) работает, второй код (включая allegro.h) не работает. Однако ошибка в другом:
1> ССЫЛКА: фатальная ошибка LNK1561: необходимо определить точку входа
Что теперь?
Редактировать ^ 2: игнорировать все следующее: я забыл вернуться к включению Allegro. Теперь это работает. Спасибо всем за ответы.
Изменить: Добавление:
END_OF_MAIN()
or
int END_OF_MAIN()
выдает ошибку "фатальная ошибка C1004: обнаружен неожиданный конец файла"