Форум программистов, компьютерный форум CyberForum.ru

Почему не компилируется приложение c gdi из командной строки? - C++

Восстановить пароль Регистрация
 
isvpro
72 / 7 / 1
Регистрация: 07.10.2009
Сообщений: 51
07.10.2012, 21:23     Почему не компилируется приложение c gdi из командной строки? #1
Всем привет!
Кто-нибудь знает, почему следующий код не компилируется из командной строки? (компилятор от MS 2012 экспресс, в IDE компилируется на ура)
Есть предположение, что нужно какой-то параметр указать в консоли для компилятора, но вот какой? =)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <windows.h>
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
void DrawPixels(HWND hwnd);
 
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    PWSTR lpCmdLine, int nCmdShow)
{
  MSG  msg;
  WNDCLASSW wc = {0};
 
  wc.style = CS_HREDRAW | CS_VREDRAW;
  wc.lpszClassName = L"Pixels";
  wc.hInstance     = hInstance;
  wc.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
  wc.lpfnWndProc   = WndProc;
  wc.hCursor       = LoadCursor(0, IDC_ARROW);
 
  RegisterClassW(&wc);
  CreateWindowW(wc.lpszClassName, L"Pixels",
              WS_OVERLAPPEDWINDOW | WS_VISIBLE,
              100, 100, 250, 150, NULL, NULL, hInstance, NULL);
 
  while( GetMessage(&msg, NULL, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
 
  return (int) msg.wParam;
}
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg,
    WPARAM wParam, LPARAM lParam)
{
  switch(msg)
  {
    case WM_PAINT:
 
      DrawPixels(hwnd);
      break;
 
    case WM_DESTROY:
 
      PostQuitMessage(0);
      return 0;
  }
 
  return DefWindowProcW(hwnd, msg, wParam, lParam);
}
 
void DrawPixels(HWND hwnd)
{
  PAINTSTRUCT ps;
  RECT r;
 
  HDC hdc = BeginPaint(hwnd, &ps);
 
  GetClientRect(hwnd, &r);
 
  for (int i=0; i<1000; i++) 
  {
    int x = (rand() % r.right - r.left);
    int y = (rand() % r.bottom - r.top);
    SetPixel(hdc, x, y, RGB(255, 0, 0));
  }
 
  EndPaint(hwnd, &ps);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2012, 21:23     Почему не компилируется приложение c gdi из командной строки?
Посмотрите здесь:

C++ В NetBeans 7.0.1 не компилируется C++ приложение !
C++ Не компилируется почему-то
Почему C++ выдает Over9000 ошибок при подключение GDI+ C++
C++ почему не компилируется ?
C++ Не компилируется приложение
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
defer
秘密
 Аватар для defer
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
07.10.2012, 21:52     Почему не компилируется приложение c gdi из командной строки? #2
А что вы пишите в командной строке?
isvpro
72 / 7 / 1
Регистрация: 07.10.2009
Сообщений: 51
07.10.2012, 22:05  [ТС]     Почему не компилируется приложение c gdi из командной строки? #3
Да, действительно правильное уточнение =) Забыл сказать
пишу:
cl source.cpp
Командную строку запускаю которая идет в поставке с visual studio
defer
秘密
 Аватар для defer
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
07.10.2012, 22:40     Почему не компилируется приложение c gdi из командной строки? #4
так

C++
1
2
cl /c /Ox source.cpp
link /SUBSYSTEM:WINDOWS source.obj user32.lib kernel32.lib gdi32.lib /OUT:source.exe
isvpro
72 / 7 / 1
Регистрация: 07.10.2009
Сообщений: 51
08.10.2012, 00:12  [ТС]     Почему не компилируется приложение c gdi из командной строки? #5
Отлично. Помогло. Спасибо!

Добавлено через 22 секунды
осталось понять, что это значит и можно ли в одну строку собрать =)
defer
秘密
 Аватар для defer
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
08.10.2012, 00:27     Почему не компилируется приложение c gdi из командной строки? #6
Цитата Сообщение от isvpro Посмотреть сообщение
осталось понять, что это значит и можно ли в одну строку собрать
одной строкой, примерно так
C++
1
cl  /Ox source.cpp /link  /SUBSYSTEM:WINDOWS user32.lib kernel32.lib gdi32.lib /OUT:source.exe
вот параметры cl
http://msdn.microsoft.com/ru-ru/library/19z1t1wy.aspx
isvpro
72 / 7 / 1
Регистрация: 07.10.2009
Сообщений: 51
08.10.2012, 20:04  [ТС]     Почему не компилируется приложение c gdi из командной строки? #7
Еще раз спасибо (+1).

Добавлено через 11 секунд
помогло

Добавлено через 19 часов 34 минуты
А вот такой вопрос. Ведь как то же, при компиляции из IDE компоновщик , определяет самостоятельно перечень необходимых для подключения библиотек. Можно как то сделать такое же из командной строки? Хочу попытаться скрестить sublime text 2 и компилятор от visual studio.
defer
秘密
 Аватар для defer
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
08.10.2012, 20:41     Почему не компилируется приложение c gdi из командной строки? #8
Цитата Сообщение от isvpro Посмотреть сообщение
Ведь как то же, при компиляции из IDE компоновщик , определяет самостоятельно перечень необходимых для подключения библиотек
Он не определяет, можно в настройках посмотреть, там просто сразу указаны около 10 библиотек
isvpro
72 / 7 / 1
Регистрация: 07.10.2009
Сообщений: 51
08.10.2012, 20:54  [ТС]     Почему не компилируется приложение c gdi из командной строки? #9
Уяснил, еще раз спасибо.
defer
秘密
 Аватар для defer
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
08.10.2012, 21:35     Почему не компилируется приложение c gdi из командной строки? #10
Цитата Сообщение от isvpro Посмотреть сообщение
Хочу попытаться скрестить sublime text 2 и компилятор от visual studio.
вот тут http://urbsch.at/?read=2, написано как это сделать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2012, 15:26     Почему не компилируется приложение c gdi из командной строки?
Еще ссылки по теме:

Приложение не компилируется из-за ошибки C++
Почему не компилируется? C++
Почему не компилируется C++

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

Или воспользуйтесь поиском по форуму:
isvpro
72 / 7 / 1
Регистрация: 07.10.2009
Сообщений: 51
10.10.2012, 15:26  [ТС]     Почему не компилируется приложение c gdi из командной строки? #11
Добавлено через 1 минуту
defer спасибо еще раз за ссылку
http://urbsch.at/?read=2
Привинтил с горем пополам =)
Описано все достаточно понятно, но если вдруг у кого то возникнут сложности (могут я думаю только у начинающих как и я =)) - пишете обязательно помогу.
Yandex
Объявления
10.10.2012, 15:26     Почему не компилируется приложение c gdi из командной строки?
Ответ Создать тему
Опции темы

Текущее время: 19:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru