Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,290
Записей в блоге: 2
Завершенные тесты: 1
#1

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

06.04.2013, 10:05. Просмотров 895. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2013, 10:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Приложение без консоли (C++):

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

Программа без вывода консоли - C++
Хочу написать программу OpenGL графики в Win32, но не знаю как убрать консоль:( Компилятор - MiniGW. Добавлено через 1 час 21 минуту...

Изиенение цвета в консоли без SetConsoleTextAttribute - C++
Здравствуйте. В общем, мне требуется сделать цветное псевдо-изображение в Windows консоли. Я знаю, что можно использовать...

Ввод с консоли без заданного числа элементов - C++
Всем привет ! 1 Не понятно почему cin.get() не понимает что нужно вводить до тех пор пока не будет 2 раза пробел ? 2 Как можно...

Считать числа с консоли без использования массива (рекурсивно) - C++
Такая задача. При помощи рекурсивной функции необходимо считать с консоли несколько целых положительных чисел разделенных пробелами,...

Как сделать получение текста из консоли, без остановки программы? - C++
Вообщем суть вопроса в заголовке. Допустим, у меня есть цикл: char str; while(true) { gets(str); //прочие действия } Мне...

9
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.04.2013, 11:37 #2
Dani, точку входа прописать надо в проекте. В пустом проекте main() не прописана.
1
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,290
Записей в блоге: 2
Завершенные тесты: 1
06.04.2013, 11:42  [ТС] #3
Tulosba, можно подробнее? И как ее прописать?
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.04.2013, 11:55 #4
Dani, свойства проекта, линкер, advanced, entry point. емнип.
1
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,290
Записей в блоге: 2
Завершенные тесты: 1
06.04.2013, 12:00  [ТС] #5
Tulosba, а почему тогда просто Empty Project запустился?

Добавлено через 2 минуты
И что там прописать конкретно?
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.04.2013, 12:10 #6
Dani, если указать в linker-system-subsystem (Windows), то консоли не будет. Но нужно дополнительно указать точку входа. Т.е. просто прописать слово (main) по пути, указанному ранее (линкер, advanced, entry point.)
1
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,290
Записей в блоге: 2
Завершенные тесты: 1
06.04.2013, 12:20  [ТС] #7
Т.е. в точке входа указывается файл сpp из которого и нужно начинать запуск, линку и т.д. ?
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.04.2013, 12:47 #8
Dani, не файл, а имя функции, которое должен линкер увидеть.
1
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
06.04.2013, 13:39 #9
C++
1
2
3
4
5
#include <Windows.h>
 
int main()
{
}
Цитата Сообщение от Dani Посмотреть сообщение
И что там прописать конкретно?
/entry:mainCRTStartup
1
palva
2655 / 1882 / 275
Регистрация: 08.06.2007
Сообщений: 7,220
Записей в блоге: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2013, 14:09
Привет! Вот еще темы с ответами:

Как по-настоящему обучиться c++ без привязок(винапи,.) то есть чистому языку но и не консоли - C++
Пожалуйста гугл не предлагайте и прочую хрень))) просто вопрос не типа как в Windows Form вызвать 2ю форму а конкретно

Консольное приложение C++ без использования vcredist - C++
Доброго времени суток! Написал маленькую программулинку в VS2012, но для запуска на старых машинах она требует vcredist 2012. Возможно...

Как запустить приложение на C++ без установки C++? - C++
Если написать какую-то прогу на с++ builder 6, скомпилить её в exe. А потом запустить на другом компе, то она не запускается. Похоже...

Исполняется ли приложение в консоли? (std::cin) - C++
Здравствуйте, уважаемые! Мне не удалось достаточно внятно задать вопрос гуглу, поэтому теперь спрашиваю у вас. В моем приложении...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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