Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 25.11.2007, 19:08   #1
DekaR
AnyKey`щик
 
Регистрация: 28.10.2007
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Ошибка Link.exe-программитрование под Win32

Приветствую всех! Вот написал свою первую прогу на С++.Даже не прогу.ТИак.Тренировка навыков:
#include <windows.h>

LRESULT CALLBACK mesa(HWND,UINT,WPARAM,LPARAM);
char *wwinname="I`s works!";

int WINAPI WinMain(HINSTANCE hinst,HINSTANCE HPREV,LPSTR lpcl,int CmdShow){
HWND hWnd;
MSG msg;
WNDCLASS wc;
wc.hInstance=hinst;
wc.lpszClassName=wwinname;
wc.lpfnWndProc=mesa;
wc.style=0;
wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.lpszMenuName=NULL;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
if(!RegisterClass(&wc)) return 0;
hWnd=CreateWindow(wwinname,"My First Window!",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
				  CW_USEDEFAULT,HWND_DESKTOP,NULL,hinst,NULL);
ShowWindow(hWnd,CmdShow);
UpdateWindow(hWnd);
while(GetMessage(&msg,NULL,0,0)){
	TranslateMessage(&msg);
	DispatchMessage(&msg);
}return msg.wParam;
}

LRESULT CALLBACK mesa(HWND hWnd,UINT iMsg,WPARAM wParam,LPARAM lParam){
	switch(iMsg){
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hWnd,iMsg,wParam,lParam);
	}
	return 0;
}
Компиляция и билт проходит нормально,а вот когда запустить получаю пинок такого содержание :
--------------------Configuration: Cpp1 - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Cpp1.exe - 2 error(s), 0 warning(s)
Что от меня хочет компилятор ?(компилятор-VC++ 6.0)
(Offline)
 
Ответить с цитированием
Старый 25.11.2007, 20:31   #2
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: Ошибка Link.exe-программитрование под Win32

Ты виндоус приложение создал в мастере студии?
(Offline)
 
Ответить с цитированием
Старый 25.11.2007, 20:53   #3
jimon
 
Сообщений: n/a
Re: Ошибка Link.exe-программитрование под Win32

DekaR
в настройках проекта указана под консольная система
а в коде есть точка входа для оконного приложения
 
Ответить с цитированием
Старый 25.11.2007, 20:54   #4
Alex_90
Знающий
 
Регистрация: 05.02.2007
Сообщений: 201
Написано одно полезное сообщение
(для 2 участников)
Хорошо Re: Ошибка Link.exe-программитрование под Win32

Ну на первую прогу это не похоже, Hello, World! не выводит, но все таки:
эта ошибка может возникать по следующим причинам:
невозможно производить запись (чтение) на диск (с диска)
сбой компилятора
не подключены необходимые библиотеки

если первые две причины, то перезагрузи винду и перезапусти Viusual Studio
если третья (это самое вероятное), то в зависимости от версии Visual Studio, библиотеки подключаюся по разному:
Visual Studio 6.0: заходить в меню Project->Settings->Link.
В строке "Objects\Liberalys moduls:" в конце через пробел добавляешь:opengl32.lib glaux.lib. После этого нажимаешь "OK".
Visual Studio 2005: заходишь в меню Project->"Название проекта"Properytys. В иерархическом списке слева выбираешь Configuration Properitys->Linker->Comand Line. В поле внизу окна вводишь: glu32.lib
opengl32.lib.
Нажимаешь "OK"
(Offline)
 
Ответить с цитированием
Старый 25.11.2007, 21:14   #5
DekaR
AnyKey`щик
 
Регистрация: 28.10.2007
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Ошибка Link.exe-программитрование под Win32

Alex_90, до меня уже было там написано :
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
Дописал.Не помогло.


alcoSHoLiK,мне и нужно оконное чтобы создалось
в настройках проекта указана под консольная система
.А где поменять это ?

alcoSHoLiK,нет.Я создал исходник.Нажал билт он мне предожил создать воркспайс и все такое.нажал "да".Вот и все.
Запись на диск разрешена
(Offline)
 
Ответить с цитированием
Старый 25.11.2007, 21:31   #6
Alex_90
Знающий
 
Регистрация: 05.02.2007
Сообщений: 201
Написано одно полезное сообщение
(для 2 участников)
Re: Ошибка Link.exe-программитрование под Win32

Ну, правильно!
А те, что я написал, ты не добавил?
(Offline)
 
Ответить с цитированием
Старый 25.11.2007, 21:37   #7
DekaR
AnyKey`щик
 
Регистрация: 28.10.2007
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Ошибка Link.exe-программитрование под Win32

Alex_90<добавил.Стало так :
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glaux.lib
,по прежмему.С компилом все нормально а вот билт и запуск не работает.
(Offline)
 
Ответить с цитированием
Старый 25.11.2007, 21:38   #8
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: Ошибка Link.exe-программитрование под Win32

Зайди в настройки проекта. Это или меню Tools, или Project.
Найди в дереве свойств Linker. В подпункте найди System. Надо там поставить для Subsystem значение Windows.
А в пункте C\C++ в подпункте Preprocessor сотри _CONSOLE и вместо него напиши _WINDOWS.

А вообще, создай проект через визард, добавь в него исходник и не парь себе моск. В студии разработку всегда надо начинать с создания проекта.
(Offline)
 
Ответить с цитированием
Старый 25.11.2007, 21:56   #9
DekaR
AnyKey`щик
 
Регистрация: 28.10.2007
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Ошибка Link.exe-программитрование под Win32

alcoSHoLiK,нашел в свойствах проекта закладку LInk, но ничего подобно там нет.Переписал на вкладке С/С++ переписал по твоему совету.Не работает .Создал проекта.Как пустой.он мне создал файлы заголовков и т.п. Перешел в пункт файлы,добавил на воркспайс свой исходник.И ...ОНО запустилось!!!!Всем спасибо.Но всеравно конечно интересно почему оно всетаки не работает если создавать без мастера ?
(Offline)
 
Ответить с цитированием
Старый 25.11.2007, 22:37   #10
Alex_90
Знающий
 
Регистрация: 05.02.2007
Сообщений: 201
Написано одно полезное сообщение
(для 2 участников)
Re: Ошибка Link.exe-программитрование под Win32

У тебя какая версия Visual Studio?
(Offline)
 
Ответить с цитированием
Старый 25.11.2007, 22:58   #11
DekaR
AnyKey`щик
 
Регистрация: 28.10.2007
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Ошибка Link.exe-программитрование под Win32

6.0
(Offline)
 
Ответить с цитированием
Старый 25.11.2007, 23:02   #12
Alex_90
Знающий
 
Регистрация: 05.02.2007
Сообщений: 201
Написано одно полезное сообщение
(для 2 участников)
Re: Ошибка Link.exe-программитрование под Win32

Ну, ну: я твой код откомпилил - работает, окно выводит с надписью в заголовке, что типо, это твое первое окно. И еще восклицательный знак добавляет в конце!
(Offline)
 
Ответить с цитированием
Старый 25.11.2007, 23:10   #13
Alex_90
Знающий
 
Регистрация: 05.02.2007
Сообщений: 201
Написано одно полезное сообщение
(для 2 участников)
Re: Ошибка Link.exe-программитрование под Win32

Поробуй пересоздай проект по следующему алгоритму:
File->New->Projects->Win32Application(в поле "Project name" вводишь имя проекта, а в поле "Lovation" - путь, где его создать)->Finish->OK->меню Project->Add to Project->New->C++ Sourse File (в поле "File name" вводишь название проекта->Ok
Далее всавляешь в проект код, а потом добавляешь библиотеки, как я писал раньше и компилишь.
(Offline)
 
Ответить с цитированием
Старый 25.11.2007, 23:41   #14
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: Ошибка Link.exe-программитрование под Win32

Я не помню, какие настройки в 6-й студии. Просто при создании проекта укажи, чтобы пустой создавало. Тогда никаких левых файлов не будет.
(Offline)
 
Ответить с цитированием
Старый 26.11.2007, 00:03   #15
Alex_90
Знающий
 
Регистрация: 05.02.2007
Сообщений: 201
Написано одно полезное сообщение
(для 2 участников)
Re: Ошибка Link.exe-программитрование под Win32

По умолчанию он и создается.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка demon112 MidletPascal 9 13.04.2011 18:37
Где ошибка??? Sand Основной форум 12 13.12.2009 15:29
В чем ошибка? Антихрист 2D-программирование 4 11.11.2007 21:49
BlitzMax(Linux) Build Error: Failed to link c0mrad 2D-программирование 1 04.03.2007 14:20
Ошибка Dizels Наш форум 12 26.10.2005 14:08


Часовой пояс GMT +4, время: 15:09.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com