Форум программистов, компьютерный форум CyberForum.ru

Не компилируется код, выскакивает ошибка - C++

Восстановить пароль Регистрация
 
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
01.07.2011, 15:51     Не компилируется код, выскакивает ошибка #1
подскажите в чем тут ошибка? при компиляции выскакивает ошибка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <windows.h>
 
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    int m[10];
    char szText[100];
 
    for(int i=0; i<=9; ++i)
        m[i]=i*i;
    wsprintf(szText, "Первый элемент: %d Последний элемент: %d", m[0], mp[9]);
    MessageBox (NULL, szText, "Info", MB_OK);
    return 0;
}
ошибка: LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2011, 15:51     Не компилируется код, выскакивает ошибка
Посмотрите здесь:

C++ Код не компилируется
Не компилируется код C++
Не компилируется код с friend C++
Почему не компилируется код C++
дан код, не компилируется C++
C++ Не компилируется код
C++ Код не компилируется
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
01.07.2011, 16:07     Не компилируется код, выскакивает ошибка #2
ну, наверное ты создал консольный проект а не win32.
И ещё одно, в 10й строке mp[9] эт чё такое?
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
01.07.2011, 16:17  [ТС]     Не компилируется код, выскакивает ошибка #3
Цитата Сообщение от jonson Посмотреть сообщение
ну, наверное ты создал консольный проект а не win32.
И ещё одно, в 10й строке mp[9] эт чё такое?
добавил лишнюю букву, спс сразу не заметил =)

Добавлено через 3 минуты
все равно ошибка вылетает... создаю win32 оконное приложение

IDE - visual c++ 2010 express

Добавлено через 2 минуты
вроде создаю правильно
file -> new project
win32 -> win32 Project
выделено: windows application, empty project -> finish

далее:
file -> new file
visual c++ -> *.cpp

пишу код и при компиляции ошибка выскакивает
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
01.07.2011, 16:21     Не компилируется код, выскакивает ошибка #4
даже не знаю, должно работать. Попробуй в настройках принудительно указать точку входа WinMain.
co6ak
Кошковед
 Аватар для co6ak
406 / 499 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
01.07.2011, 16:21     Не компилируется код, выскакивает ошибка #5
хз. у меня работает )
mp поменял на m[9] и нормалек )


тока эта... я всегда пустые проекты создаю.
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
01.07.2011, 18:10  [ТС]     Не компилируется код, выскакивает ошибка #6
еще пара вопросов:
два идентификатора
WINAPI
и
CALLBACK
я так понял это синонимы stdcall - особая последовательность вызовов функций, которая имеет место между самой операционной системой windows и ее приложением.
1. без разницы как будет написано к примеру WINAPI WinMain() или CALLBACK WinMain()?
2. не совсем понятно что такое stdcall так как это не зарезервированное слово... подскажите что это и когда используется
Jupiter
Каратель
Эксперт C++
6545 / 3965 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
01.07.2011, 18:17     Не компилируется код, выскакивает ошибка #7
Цитата Сообщение от Olejeg85 Посмотреть сообщение
1. без разницы как будет написано к примеру WINAPI WinMain() или CALLBACK WinMain()?
без разници

Цитата Сообщение от Olejeg85 Посмотреть сообщение
2. не совсем понятно что такое stdcall так как это не зарезервированное слово... подскажите что это и когда используется
stdcall определяет порядок передачи параметров в функцию, ибо в паскале например, порядок передачи параметров обратный к Сишному

Добавлено через 1 минуту
ну и так же определяет что параметры будут передаватся через стек
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
01.07.2011, 18:17     Не компилируется код, выскакивает ошибка #8
Цитата Сообщение от Olejeg85 Посмотреть сообщение
что такое stdcall
то есть это значит что аргументы передаются через стек, справа налево. Очистку стека производит вызываемая подпрограмма.
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
01.07.2011, 20:52  [ТС]     Не компилируется код, выскакивает ошибка #9
в книжке написано:
функция RegisterClassEx имеется один параметр: указатель на структуру типа WNDCLASSEX
RegisterClassEx(&wndclass);

почему указатель? если это ссылка на структуру или под win так указатели обозначаются?
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
01.07.2011, 21:16     Не компилируется код, выскакивает ошибка #10
Цитата Сообщение от Olejeg85 Посмотреть сообщение
почему указатель? если это ссылка на структуру или под win так указатели обозначаются?
&wndclass - это операция взятия адреса структуры wndclass
чтобы в RegisterClassEx отправить сам указатель, это выглядит так:
C++
1
2
3
4
5
6
7
 WNDCLASSEX wcex;
 WNDCLASSEX * p;
 
 // ..... определение структуры wcex
 
p = & wcex;
RegisterClassEx(p);
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
01.07.2011, 22:16  [ТС]     Не компилируется код, выскакивает ошибка #11
а где можно посмотреть все стили, которые описаны для окон? а то я только три нашел
CS_HREDRAW, CS_VREDRAW и CS_OWNDC
Jupiter
Каратель
Эксперт C++
6545 / 3965 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
01.07.2011, 22:22     Не компилируется код, выскакивает ошибка #12
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2011, 03:14     Не компилируется код, выскакивает ошибка
Еще ссылки по теме:

C++ Код не компилируется
C++ Не компилируется примитивный код
Код не компилируется C++
Не компилируется код C++
Не компилируется код C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
03.07.2011, 03:14  [ТС]     Не компилируется код, выскакивает ошибка #13
спасиб =)

Добавлено через 21 час 35 минут
ну и последний вопрос остался по приложению=))
первый параметр при определении класса окна:
UINT cbSize; для чего это нужно?

Добавлено через 6 часов 35 минут
еще может кто-нибудь объяснить написанное... я не догоняю о чем тут пишут...
описание параметра функции CreateWindow
hWndParent
Идентифицирует родительское окно или владельца создаваемого окна. Допустимый дескриптор окна должен быть дан, когда дочернее окно или находящееся в собственности окно созданы. Дочернее окно ограничено рабочей областью родительского окна. Находящееся в собственности окно - перекрывающее окно, которое разрушается, когда окно его владельца разрушено или скрыто, когда его владелец свернут; оно всегда отображается на верхней части окна его владельца. Несмотря на то, что этот параметр должен определять правильный дескриптор, если параметр dwStyle включает в себя стиль WS_CHILD, это необязательно, если dwStyle включает в себя стиль WS_POPUP.

а именно последнее предложение
Несмотря на то, что этот параметр должен определять правильный дескриптор, если параметр dwStyle включает в себя стиль WS_CHILD, это необязательно, если dwStyle включает в себя стиль WS_POPUP.

может кто-нибудь на русском нормально описать смысл этой фразы?
Yandex
Объявления
03.07.2011, 03:14     Не компилируется код, выскакивает ошибка
Ответ Создать тему
Опции темы

Текущее время: 23:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru