C ++ программа для Windows (G ++). main () не запускается

У меня есть проект C ++, сформированный из функции main () и объявления класса.
я использую mingw g ++ для компиляции моего кода.

Проблема в том, что даже при хорошей компиляции и компоновке при запуске программы процесс зависает и ничего не показывает.

Это в основном файл main.cpp:

int main() {
printf("....\n");
system("PAUSE");
//Class instance;
return 1;
}
....
class Class {...}
....

я прокомментировал экземпляр класса, чтобы изолировать проблему.

после основной функции есть объявление класса Class.

Для ясности, при запуске из консоли он зависает и не показывает строку printf.

если это может быть полезно, я также связываю библиотеки sfml, которые используются в методах класса.

Как я могу решить проблему? Благодарю.

2

Решение

Попробуйте поместить объявление класса над вашей основной функцией.

C ++ требует, чтобы что-либо было объявлено или определено, прежде чем вы сможете его использовать. Единственное исключение, о котором я знаю, это классика:

int main void()
{
//some code that does stuff;
return 0;
}

который для всех интенсивных целей не может быть объявлен в коде перед использованием.

0

Другие решения

Поскольку это явно не проблема компиляции / компоновки, это не имеет ничего общего с упорядочением объявлений. Это может быть несколько вещей. Не видя определения класса, мы не знаем, содержит ли он статические определяемые пользователем члены типа с логикой конструктора, вызываемой во время инициализации CRT. Это также могут быть ваши библиотеки. Если у вас загружены динамические библиотеки (общие объекты в * nix или библиотеки DLL в Windows), загрузчик процессов может не найти и / или загрузить их, или разрешить зависимости. Является ли SFML динамичным? Лучший способ устранить это в отладчике. Получите IDE и попробуйте запустить отладочную сборку вашей программы в отладчике.

0

По вопросам рекламы [email protected]