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

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

Войти
Регистрация
Восстановить пароль
 
isvpro
72 / 7 / 1
Регистрация: 07.10.2009
Сообщений: 51
#1

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

07.10.2012, 21:23. Просмотров 516. Ответов 10
Метки нет (Все метки)

Всем привет!
Кто-нибудь знает, почему следующий код не компилируется из командной строки? (компилятор от 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++
кто знает,что за ошибка*??1&gt;------ Построение начато: проект: 2, Конфигурация: Debug Win32 ------ 1&gt;Компиляция... 1&gt;2.cpp ...

Почему C++ выдает Over9000 ошибок при подключение GDI+ - C++
Почему C++ выдает Over9000 ошибок при подключение GDI+ ? #include &lt;Windows.h&gt; #include &lt;gdiplus.h&gt; #include &lt;stdio.h&gt; using...

В NetBeans 7.0.1 не компилируется C++ приложение ! - C++
Установил IDE и платформу NetBeans 7.0.1 и создал C++ проект для простейшего примера &quot;Hello ...&quot;, но файл не компилируется и, как...

Приложение не компилируется из-за ошибки - C++
В общем, я несколько раз забрасывал самоучение с++ из за кое какой ошибки. #include &lt;iostream.h&gt; namespace std; int main(); { ...

Приложение не компилируется из-за ошибки - C++
Задача: подсчитать площадь равнобедренной трапеции с основаниями a и b и углом a при большем основании Ошибки: 1 . Warning 1 warning...

Почему не компилируется? - C++
Добрый день! Почему не компилируется данная программа. Хотелось бы чтобы из одного класса можно было вызвать метод другого класса. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
秘密
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
秘密
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
秘密
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
秘密
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++
Привет, перейду сразу к делу. Вот все говорят, что Visual Studio самая крутая студия, а она даже не может скомпилировать эту простую...

Почему не компилируется - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; const double Pi = 3.14159; double Area(double...

почему не компилируется ? - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; using namespace std; class element { ...

Не компилируется почему-то - 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 из командной строки?
Ответ Создать тему
Опции темы

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