Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2011, 21:34   #1
Voxa7
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 59
Восклицание MSVC++ 2010 не компилится проект

Создал пустое приложение Win32 приложение, в нем написал
Код:
#include <windows.h>
#include "stdafx.h"

#pragma comment(linker,"/ENTRY:WinMain")
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg,WPARAM wparam,LPARAM lparam)		
{
	switch (msg)
	{
		case WM_PAINT: break;
		case WM_DESTROY:
		{
			PostQuitMessage(0);
			return(0);
			break;
		}
	}
	return DefWindowProc(hwnd, msg, wparam, lparam);
}

int WINAPI WinMain(HINSTANCE hinstance,
				   HINSTANCE hprewinstance,
				   LPSTR lpcmdline,
				   int mcmdshow)
{
	WINDCLASSEX windowclass;
	HWND hwnd;
	MSG msg;

	windowclass.cbSize = sizeof(WINDOWCLASSEX);
	windowclass.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
	windowclass.lpfnWndProc = MainWndProc;
	windowclass.cbClsExtra = 0;
	windowclass.cbWndExtra = 0;
	windowclass.hInstance = hinstance;
	windowclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
	windowclass.hCursor = LoadCursor(NULL, IDC_ARROW);
	windowclass.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);
	windowclass.lpszMenuName = NULL;
	windowclass.lpszClassName = "WINDOWCLASS";
	windowclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

	if (!RegisterClassEx(&windowclass))
			return(0);

	if (!(hwnd = CreateWindowEx(NULL, "WINDOWCLASS", "HELLO WORLD!", WS_OVERLAPPEDWINDOW | WS_VISIBLE, 0, 0, 500, 400, NULL, NULL, hinstance, NULL)))
		return(0);
	ShowWindow(hwnd, SW_SHOWDEFAULT);
	UpdateWindow(hwnd);
	while(GetMessage(&msg, NULL, 0, 0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	return (msg.wParam);
}
При компиляции выдает ошыбку
1>LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup
Пробывал скомилить пустой проект, та же ошыбка.
Подскажыте, пожалуйста, как исправить.
Voxa7 вне форума Ответить с цитированием
Старый 19.09.2011, 21:51   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Код:
#pragma comment(linker, "/ENTRY:WinMain")
Вот этого не надо.
Создайте пустой Win32 проект (не консольный) и определите в нём ф-цию WinMain, ничего не делающую. Тогда ругается?
И да, если всё получится, то сразу скажу: не перехватывайте WM_PAINT, если не собираетесь его обрабатывать.
netrino вне форума Ответить с цитированием
Старый 19.09.2011, 21:51   #3
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Глюки... Что-то частенько стало.

Последний раз редактировалось netrino; 19.09.2011 в 22:00.
netrino вне форума Ответить с цитированием
Старый 19.09.2011, 22:00   #4
Voxa7
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 59
По умолчанию

netrino
Сделал как вы говорили, все равно не компилится.
Что делать?
Voxa7 вне форума Ответить с цитированием
Старый 19.09.2011, 22:11   #5
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Voxa7 Посмотреть сообщение
netrino
Сделал как вы говорили, все равно не компилится.
Что делать?
В настройках компоновщика (Linker), поищите параметр Subsystem (подсистема), и убедитесь, что он установлен в WINDOWS. Также проверьте параметр entry point, если он установлен в _wWinMainCRTStartUp, то попробуйте вместо WinMain определить wWinMain, коли не поможет, то переопределите параметр entry point в _WinMainCRTStartUp.
netrino вне форума Ответить с цитированием
Старый 19.09.2011, 22:37   #6
Voxa7
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 59
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
В настройках компоновщика (Linker), поищите параметр Subsystem (подсистема), и убедитесь, что он установлен в WINDOWS. Также проверьте параметр entry point, если он установлен в _wWinMainCRTStartUp, то попробуйте вместо WinMain определить wWinMain, коли не поможет, то переопределите параметр entry point в _WinMainCRTStartUp.
Подскажыте, пожалуйста где найти эти параметры в настройках, а то я не могу найти.
Voxa7 вне форума Ответить с цитированием
Старый 19.09.2011, 22:41   #7
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Voxa7 Посмотреть сообщение
Подскажыте, пожалуйста где найти эти параметры в настройках, а то я не могу найти.
Открываете настройки (Alt+F7, если мне не изменяет память), в них, в левой панели, выбираете Настройки Компоновщика (Linker Options или как-то так). Там, просматриваете подпункты, кажется один из последних (то ли System, то ли?..), выбрав который, в правой половине будете искать конкретные параметры (Entry point, Subsystem). Возможно они в разных подпунктах. Давно студией не пользовался и сейчас глянуть не могу, а память подводит) Но, если покопаетесь, то найдёте)
netrino вне форума Ответить с цитированием
Старый 19.09.2011, 23:04   #8
Voxa7
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 59
По умолчанию

У меня параметр Entry point пуст. Пробывал установить его _WinMainCRTStartUp но проблема не исчезла.
Voxa7 вне форума Ответить с цитированием
Старый 19.09.2011, 23:13   #9
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Voxa7 Посмотреть сообщение
У меня параметр Entry point пуст. Пробывал установить его _WinMainCRTStartUp но проблема не исчезла.
Ну что же, оставьте его пустым. wWinMain вместо WinMain определять пробовали?
netrino вне форума Ответить с цитированием
Старый 20.09.2011, 10:50   #10
Voxa7
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 59
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
Ну что же, оставьте его пустым. wWinMain вместо WinMain определять пробовали?
Да пробывал, не работает((
Voxa7 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Куплю проект на Delphi XE(rad studio 2010) kkkcka Фриланс 0 25.05.2011 18:16
MSVC++ 2010 Express: о лицензионном соглашении Пепел Феникса Свободное общение 11 05.05.2011 23:06
Проект Access 2010 х64 (adp) не хочет работать с SQL Server 2008 х64 ten50 Microsoft Office Access 0 18.04.2011 20:10
Надо скомпилировать проект в Delphi 2010 zver777 Общие вопросы Delphi 0 03.04.2010 15:35
Не компилится проект на студии 2005 prikolist Общие вопросы C/C++ 31 15.06.2009 19:18