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

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

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

Студворк — интернет-сервис помощи студентам
Всем привет. Я решил сделать программу без консоли, которая висит при работе компьютера и удаляет 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.04.2013, 10:05
Ответы с готовыми решениями:

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

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

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

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

Добавлено через 2 минуты
И что там прописать конкретно?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.04.2013, 12:10
Dani, если указать в linker-system-subsystem (Windows), то консоли не будет. Но нужно дополнительно указать точку входа. Т.е. просто прописать слово (main) по пути, указанному ранее (линкер, advanced, entry point.)
1
1406 / 648 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
06.04.2013, 12:20  [ТС]
Т.е. в точке входа указывается файл сpp из которого и нужно начинать запуск, линку и т.д. ?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.04.2013, 12:47
Dani, не файл, а имя функции, которое должен линкер увидеть.
1
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
06.04.2013, 13:39
C++
1
2
3
4
5
#include <Windows.h>
 
int main()
{
}
Цитата Сообщение от Dani Посмотреть сообщение
И что там прописать конкретно?
/entry:mainCRTStartup
1
 Аватар для palva
4274 / 2967 / 692
Регистрация: 08.06.2007
Сообщений: 9,917
Записей в блоге: 4
06.04.2013, 14:09
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.04.2013, 14:09
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru