Indigo
Гость
|
|
« : 13-06-2006 10:31 » |
|
Столкнулся с массой проблем, помогите! В программировании я новичок. Изучаю Win API. Пробую создать что-либо с чистого проекта. Во многих примерах требуется подключить файл Windows.h. При компиляции в данной среде, VC выдает что не может найти этот заголовочный файл(Можно ли обойтись без него?). Пробовал использовать Windows.h из С++ Builder 6. Ничего хорошо не вышло. Где можно скачать Windows.h под Visual C++ 2005 Express Edition? Заранее благодарен за любую помощь(подсказки, советы, замечания, ссылки на статьи и т.п.)!
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #1 : 13-06-2006 13:25 » |
|
Indigo, В стандартной поставке Visual C++ 2005 Express Edition не идет Platform SDK. Вот инструкция, как установить SDK.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
acc15
Гость
|
|
« Ответ #2 : 13-06-2006 18:33 » |
|
А вообще лучше поставь VC6 или .NET 2003.. т.к. 2005 ещё очень дырява
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #3 : 13-06-2006 19:36 » |
|
А вообще лучше поставь VC6 или .NET 2003.. т.к. 2005 ещё очень дырява
Да неужели! Откуда выводы такие ? Сам програмиш в 2005 или начитался "умных" статей ? Желательно примеры и аргументы.
|
|
« Последнее редактирование: 13-06-2006 19:44 от MOPO3 »
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #4 : 13-06-2006 19:40 » |
|
acc15, MOPO3, насчёт дырявости я её оценить не успел, но прожорливая, фука )))
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #5 : 13-06-2006 19:44 » |
|
Насчёт прожорливости согласен Насчёт остального жду конкретно фактов. Таких, чтобы мог воспроизвести ситуацию и убедиться в глючности ИМХО с 2005 работаю достаточно давно, ещё с первой беты, и не скажу что такая уже и дырявая, у меня 2003 тоже регулярно глюкает, особенно на вэб проектах
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Indigo
Гость
|
|
« Ответ #6 : 16-06-2006 17:11 » |
|
Finch, спасибо это то что нужно. Может быть ответите в двух словах для чего нужен stdafx.h?
|
|
|
Записан
|
|
|
|
Anchorite
Гость
|
|
« Ответ #7 : 16-06-2006 19:08 » |
|
На основе этого файла при помощи stdafx.cpp генерится файл прекомпилированных заголовков. В последствии этот сгенерированный файл используется для ускорения процесса компиляции других *.cpp файлов в проекте.
|
|
|
Записан
|
|
|
|
Richi
Гость
|
|
« Ответ #8 : 19-06-2006 11:01 » |
|
Насчёт прожорливости согласен Насчёт остального жду конкретно фактов. Таких, чтобы мог воспроизвести ситуацию и убедиться в глючности ИМХО с 2005 работаю достаточно давно, ещё с первой беты, и не скажу что такая уже и дырявая, у меня 2003 тоже регулярно глюкает, особенно на вэб проектах Я тоже придерживаюсь мнения насчет "дырявости" 2005. Очень(!) надеюсь, что у меня это от незнания всех фичеров. Вот небольшой примерчик. Утилитка с главным окном диалога. На нем кнопочка, по клику на которую открывается другое окошко диалога. Все просто, правда? Создаем это второе окошко. Создаем к нему класс (есстественно от CDialog). Визард создает два файла cpp и h. В этом новом классе нет привычной функции OnInitDialog(). Как ее добавить? Нашел ее в списке виртуальных функций, ну и...? Не добавляется. Делаю это вручную, как и многое другое. Есть еще много примеров.
|
|
|
Записан
|
|
|
|
Richi
Гость
|
|
« Ответ #9 : 19-06-2006 12:15 » |
|
Еще вдогонку. Тот же простенький проектик с диалогом. Поставим на нем с десяток контролов. Попробуем визардом создать к ним переменные. VS-6 српавлялась с этой задачей "на одном дыхании", а для VS-2005 это целый проект! Уйма времени! И чего, спрашивается, так надолго задумываться? Добавить две строчки кода? Опять же вручную гораздо быстрее. Я уже не говорю о том, как VS-2005 конвертит под себя старые добрые проекты, написанные на VS-6. Потом приходится ручками править полдня, чтобы заработало. Та же 2003-я студия делала это "на ура".
|
|
|
Записан
|
|
|
|
acc15
Гость
|
|
« Ответ #10 : 19-06-2006 17:36 » |
|
Насчет конверта... конвертнул успешно... однако проект был всего из 2 файлов... незнаю что будет при огромных проектах... Насчет создания переменных и методов, действительно - тормоза и баги на пустом месте, порой не даёт создать "Control Variable" из кнопки, что особо выводит... впринципе тоже самое и в .NET 2003 присутствовало...
IMHO: Доделали бы в VS 6 IntelliSense цены бы ему не было!!! Вообще VS юзаю только из-за IntelliSense...
|
|
« Последнее редактирование: 19-06-2006 17:39 от acc15 »
|
Записан
|
|
|
|
Richi
Гость
|
|
« Ответ #11 : 20-06-2006 06:39 » |
|
Я вчера конвертил проектик из десятка сипипишных файлов. Все еще не заработал. Линкер выдат вот такую ошибку: LINK : fatal error LNK1181: cannot open input file 'C:\Program.obj' Что это за народное творчество? Не пойму...
|
|
« Последнее редактирование: 06-12-2007 18:22 от Алексей1153++ »
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #12 : 30-06-2006 08:44 » |
|
Richi, а причём сдесь то , что "В этом новом классе нет привычной функции OnInitDialog()" ? Это "дырявость" студии ? Не смешите меня! Также скажу что сравнение VS-6 о которой Вы упоминаете с VS-2005 просто некорректно! Вообще VS юзаю только из-за IntelliSense... Ню ню В общем пустая болтовня с привидением сомнительных примеров. А где "дырявость" то ? Пока никак меня не убедили.
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Richi
Гость
|
|
« Ответ #13 : 12-07-2006 07:47 » |
|
Я и не пытался никого убеждать. Просто чувствую себя очень неуютно с этой 2005-й. Тормозная она ужасно. Я бы с удовольствием отказался от нее, но это единственная легальная студия, которая есть на работе. А с нелегальными нам работать, увы, теперь уже не разрешают.
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #14 : 12-07-2006 07:56 » |
|
Ну что я могу сказать Плохому танцору..... Можно в настройках 2005 поотрубать разные красивости и будет она неплохо работать.
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
RomCom
|
|
« Ответ #15 : 12-07-2006 08:27 » |
|
Глюки у этого звери есть. Замеченые мной (за недолгую пока практику) все связаны с дизанером форм. Иногда после долгой работы пропадает форма или её часть. Не вообще а с экрана. Некоторые программеры советуют закрывать дизайнер при редактировании кода.
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #16 : 12-07-2006 08:29 » |
|
Глюки у этого звери есть. Замеченые мной (за недолгую пока практику) все связаны с дизанером форм. Иногда после долгой работы пропадает форма или её часть. Не вообще а с экрана. Некоторые программеры советуют закрывать дизайнер при редактировании кода.
Хммм... Ни разу ещё с таким не сталкивался. Работаю на 2005 ещё со второй беты. А пробовать начал с первой.
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
RomCom
|
|
« Ответ #17 : 12-07-2006 11:43 » |
|
Забыл уточнить. Проги пишу на С#, Microsoft Visual Studio 2005 Team Edition. Возможно замеченные глюки проявляются только при работе на С#.
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
Mickm
Гость
|
|
« Ответ #18 : 20-08-2006 09:12 » |
|
Indigo, В стандартной поставке Visual C++ 2005 Express Edition не идет Platform SDK. Вот инструкция, как установить SDK. SDK платформа закачивалась при установке vs++ee, но папки "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin" и прочих нет. Прописал паки "C:\Program Files\Microsoft Visual Studio 8\VC\bin" и т.д. При компиляции не может найти файл window.h, такого файла на винчестере вообще нет... И что делать?
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #19 : 20-08-2006 12:12 » |
|
Mickm, Давай по порядку. 1) Какая у тебя студия? 2) Скачал ли ты Platform SDK? 3) Какую именно версию? Есть полная версия около 400 мегов. Есть версия укороченная версия. Она 1.3 мега. Но она требует интернет для установки. Так как скачивает полный пакет с сайта Майкрософт. 4) Провел ли ты все настройки, как приведено в сылке, которую я привел?
Если точно исполнять все настройки, которые описаны по ссылке, у меня полностью все заработало. Кстати установка студии требует SP2.
|
|
« Последнее редактирование: 20-08-2006 12:14 от Finch »
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Mickm
Гость
|
|
« Ответ #20 : 20-08-2006 19:33 » |
|
У меня часть студии в том плане, что я скачивал Microsoft Visual C++ Express Edition (около 2 мегабайт). Без вижуал бэйсика, си шарп и т.д. При установке Си что-то качало приблизительно 70 мегов, и само ставило (была отмечена галочкой, кажется как раз SDK, кроме неё ещё было MSDN 2005 express edition и SQL Server express edition x86, их я не ставил). Я так понял, что это и есть Platform SDK (не помню, что там было написано...). Установка этой штуки была в инструкции по установки Си (первых 2 пункта что-то качать, 3-й поставить Си, 4-й поставить эту штуку). Потом со страницы инструкций по установке Си я перешёл на туже страничку, на которую давали ссылку. По этой новой инструкции не смог сделать пункт 3 (сделал как написал выше), 4 и 5 стделал, файлы все были. У меня Windows XP Home Edition со всеми апдейтами (кроме каких-то фич для каких-то экзотических мп3 плэеров). То, что Си качало было не то? Надо ещё закачать 400 мегов?
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #21 : 21-08-2006 14:43 » |
|
Раз тебе лень прыгнуть по ссылке http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/ , вот инструкция, которую написали в Мелкомягких
Using Visual C++ 2005 Express Edition with the Microsoft Platform SDK
By Brian Johnson, Microsoft Corporation
You can use Visual C++ Express to build powerful .NET Framework applications immediately after installation. In order to use Visual C++ Express to build Win32 applications, you'll need to take just a few more steps. I'll list the steps necessary for building Win32 applications using Visual C++ Express.
Step 1: Install Visual C++ Express.
If you haven't done so already, install Visual C++ Express.
Step 2: Install the Microsoft Platform SDK.
Install the Platform SDK over the Web from the Download Center. Follow the instructions and install the SDK for the x86 platform.
Step 3: Update the Visual C++ directories in the Projects and Solutions section in the Options dialog box.
Add the paths to the appropriate subsection:
Executable files: C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin
Include files: C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include
Library files: C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib
Note: Alternatively, you can update the Visual C++ Directories by modifying the VCProjectEngine.dll.express.config file located in the \vc\vcpackages subdirectory of the Visual C++ Express install location. Please make sure that you also delete the file "vccomponents.dat" located in the "%USERPROFILE%\Local Settings\Application Data\Microsoft\VCExpress\8.0" if it exists before restarting Visual C++ Express Edition.
Step 4: Update the corewin_express.vsprops file.
One more step is needed to make the Win32 template work in Visual C++ Express. You need to edit the corewin_express.vsprops file (found in C:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults) and
Change the string that reads:
AdditionalDependencies="kernel32.lib" to
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
Step 5: Generate and build a Win32 application to test your paths.
In Visual C++ Express, the Win32 Windows Application type is disabled in the Win32 Application Wizard. To enable that type, you need to edit the file AppSettings.htm file located in the folder “%ProgramFiles%\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033\".
In a text editor comment out lines 441 - 444 by putting a // in front of them as shown here:
// WIN_APP.disabled = true; // WIN_APP_LABEL.disabled = true; // DLL_APP.disabled = true; // DLL_APP_LABEL.disabled = true;
Save and close the file and open Visual C++ Express.
From the File menu, click New Project. In the New Project dialog box, expand the Visual C++ node in the Product Types tree and then click Win32. Click on the Win32 Console Application template and then give your project a name and click OK. In the Win32 Application Wizard dialog box, make sure that Windows application is selected as the Application type and the ATL is not selected. Click the Finish button to generate the project.
As a final step, test your project by clicking the Start button in the IDE or by pressing F5. Your Win32 application should build and run.
|
|
« Последнее редактирование: 06-12-2007 18:23 от Алексей1153++ »
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Mickm
Гость
|
|
« Ответ #22 : 21-08-2006 15:34 » |
|
Прошу прощения, наверное я неправильно сформулировал вопрос... Эту инструкцию я уже читал первый раз при установке, второй раз, когда набрёл на эту тему и прыгнул по ссылке. попробую задать конкретный вопрос:
Отсутствие на диске C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\*и т.д* означает, что Microsoft Platform SDK не установлена?
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #23 : 21-08-2006 18:06 » |
|
У меня Platform SDK села по такому пути c:\Program Files\Microsoft Platform SDK\ В поддериктории include у меня лежит windows.h. У тебя обычная XP зачем ты ставил Microsoft Platform SDK for Windows Server 2003
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Mickm
Гость
|
|
« Ответ #24 : 21-08-2006 18:47 » |
|
Похоже, что sdk я или не ставил (visual c его не поставила) или она (sdk) не встала, потому что файлика windows.h нет вообще нигде. А какую мне тогда sdk закачивать? На сайте "мелкомягких" (если идти по ссылке со страницы с инструкцией) для хр только COM+ Java Runtime Support. Есть ещё для всех виндоз Tablet PC Platform SDK V1.7, но насколько я понимаю эта фича для планшетных компов...
|
|
|
Записан
|
|
|
|
|
Mickm
Гость
|
|
« Ответ #26 : 22-08-2006 02:53 » |
|
Спасибо, буду думать где качать, на работе или дома...
|
|
|
Записан
|
|
|
|
Mickm
Гость
|
|
« Ответ #27 : 30-08-2006 16:54 » |
|
Поставил SDK. Встала она в папку C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\. Всё заработало.
|
|
|
Записан
|
|
|
|
Антон (LogRus)
|
|
« Ответ #28 : 31-08-2006 04:49 » |
|
Насчет дырявости компилятора VC7.x TObj foo() { return TObj(); }
class A { TObj &obj; public: A():obj(foo()){} }
деструктор TObj вызван не будет ссылка на временный объект должна быть константной.
|
|
|
Записан
|
Странно всё это....
|
|
|
Oleg1977
Гость
|
|
« Ответ #29 : 29-09-2006 09:55 » |
|
Вот решил освоить Visual C++ 2005 Express Edition 8.0. Но при компиляции возникает ошибка 1083 пишет ------ Build started: Project: 1, Configuration: Debug Win32 ------ Compiling... 1,1.cpp .\1,1.cpp(6) : fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory Build log was saved at "file://c:\Documents and Settings\Oleg\My Documents\Visual Studio 2005\Projects\1\1\Debug\BuildLog.htm" 1 - 1 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== Кто знает в че дело обьесните напишите на адрес ulena7777@mail.ru что необходимо сделать. Уменя Visual C++ 2005 Express Edition 8.0. установлен на XP может в этом дело. При установке Visual C++ 2005 Express Edition 8.0. был установлен Server SQL 2005 он находится на одном загрузочном диске в месте с Visual C++ 2005 Express Edition 8.0.. Всем зарание блогодарен.
|
|
« Последнее редактирование: 06-12-2007 18:23 от Алексей1153++ »
|
Записан
|
|
|
|
|