Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
1

Приложение без консоли

06.04.2013, 10:05. Показов 5721. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Я решил сделать программу без консоли, которая висит при работе компьютера и удаляет autorun с флешки.

Не по теме:

Забегая на перед, хочу сказать, что эта ошибка меня задолбала уже.


Создал проект в Visual Studio 2010 -> Win32 Project -> и поставил галочку на Empty Project. Все норм. Проект создался, после чего я создал в Source Files файл main.cpp и ввел в него следующее:

C++
1
2
3
4
5
#include <Windows.h>
 
int main(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPCSTR lpszCmdLine, int CmdShow)
{
}
Попытался скомпилить и вот что пишет:
Цитата Сообщение от Компилятор 2010
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
1>D:\Prog\1\1\Debug\1.exe : fatal error LNK1120: 1 unresolved externals
1>
1>Build FAILED.
Я не знаю как это исправить и подумал, что если создать Empty Project, то приложение также должно быть без консоли.
Я вставил этот код в Empty Project и вуаля - он сколмпилился. Запускаю, а там... консоль!

Почему появилась Link Error? Как ее исправить? И почему в Empty Project появилась консоль?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2013, 10:05
Ответы с готовыми решениями:

Скрытое приложение (без графического отображения (даже консоли),)
Использую VS2010. Нужно написать приложение, неважно какое, но что бы у него не было никакого...

Как можно скомпилировать win32 приложение в win32 приложение без консоли с помощью g++?
Как можно скомпилировать win32 приложение в win32 приложение без консоли с помощью g++? Например по...

Невозможно создать консольное приложение "без консоли"
Добрый день! Подскажите, пожалуйста, есть ли такая возможность в Embarcadero RAD Studio (C++...

Закрыть приложение Word БЕЗ сохранения документов и без запроса
Добрый день! После открытия документа и выполнения манипуляций с ним Word выдает запрос о...

9
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.04.2013, 11:37 2
Dani, точку входа прописать надо в проекте. В пустом проекте main() не прописана.
1
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
06.04.2013, 11:42  [ТС] 3
Tulosba, можно подробнее? И как ее прописать?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.04.2013, 11:55 4
Dani, свойства проекта, линкер, advanced, entry point. емнип.
1
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
06.04.2013, 12:00  [ТС] 5
Tulosba, а почему тогда просто Empty Project запустился?

Добавлено через 2 минуты
И что там прописать конкретно?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.04.2013, 12:10 6
Dani, если указать в linker-system-subsystem (Windows), то консоли не будет. Но нужно дополнительно указать точку входа. Т.е. просто прописать слово (main) по пути, указанному ранее (линкер, advanced, entry point.)
1
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
06.04.2013, 12:20  [ТС] 7
Т.е. в точке входа указывается файл сpp из которого и нужно начинать запуск, линку и т.д. ?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.04.2013, 12:47 8
Dani, не файл, а имя функции, которое должен линкер увидеть.
1
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
06.04.2013, 13:39 9
C++
1
2
3
4
5
#include <Windows.h>
 
int main()
{
}
Цитата Сообщение от Dani Посмотреть сообщение
И что там прописать конкретно?
/entry:mainCRTStartup
1
4240 / 2937 / 687
Регистрация: 08.06.2007
Сообщений: 9,817
Записей в блоге: 4
06.04.2013, 14:09 10
Dani, Вы все правильно сделали с самого начала. Создаете пустое Windows приложение и в программе пишете:
C++
1
2
3
4
5
6
#include <Windows.h>
 
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR, int)
{
    return 0;
}
Добавлено через 3 минуты
Только не создавайте консольное приложение.
0
06.04.2013, 14:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2013, 14:09
Помогаю со студенческими работами здесь

Граф. приложение+библиотеки+консольное приложение! Не работает программа без использования консоли. Если использую, то всё прекрасно работает.
Ребята нужна помощь,все вроде сделал, но приложение начинает зависать при запуске без использования...

Необходимо в C# написать программы, как виндовское приложение (без консоли)
1. Написать программу, которая вводит текст, состоящий из нескольких предложений, и выводит на...

Как запустить программу из консоли без блокировки консоли?
Вводу например firefox в консоль открывается приложение и в консоль больше ничего ввести нельзя...

Приложение со всеми библиотеками, или как запустить приложение без установленного FW
Извините, если для профессионалов эта тема покажется уже заезженной, но я не нашла решения в...

перевод из консоли в приложение.
нужно перевести программу из консоли в приложение. так как я в дельфи полный ноль,желательно весь...

Сообщения в консоли. Спринг приложение
Здравствуйте, начал изучать спринг, английский знаю плохо, потому прошу меня не ругать В общем...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru