На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
Страницы: (20) « Первая ... 13 14 [15] 16 17 ...  19 20 все  ( Перейти к последнему сообщению )  
> Проблемы перехода на Visual Studio 2005/2008 с более ранних версий , FAQ
    Помогите плиз, может уже пробегало, но я не нашел.

    при попытке использовать примеры из учебников и уроков возникает проблема.

    суть проблемы вот в чем

    создаю пустой проект Win32 и делая в первой строчке

    #include <stdafx.h>

    получаю сообщение об ошибке.

    каков минимальный набор для проекта с использованием MFC????

    все делается в студии 2005 Express

    кстати ни один пример из

    http://books.kulichki.net/data/c/msvc1/THEORY/HTM/glava03.html

    запустить в студии 2005 экспресс у меня не получилось. :(

    кстати где проблема в этом коде:

    #include <windows.h>
    int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nShowCmd)
    {
    // Отображение диалоговой панели.
    MessageBox(NULL,"First MFC-application","Message",MB_OK);
    // Завершение работы приложения
    return 0;
    }
    Сообщение отредактировано: triton -
      Цитата triton @
      при попытке использовать примеры из учебников и уроков возникает проблема.
      суть проблемы вот в чем
      создаю пустой проект Win32 и делая в первой строчке
      #include <stdafx.h>
      получаю сообщение об ошибке.
      каков минимальный набор для проекта с использованием MFC????
      все делается в студии 2005 Express

      2005 Express вообще пустая, в ней нет MFC, ATL да вообще SDK тоже нет

      Цитата triton @
      кстати где проблема в этом коде:

      ExpandedWrap disabled
        #include <windows.h>
        int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
        LPSTR lpCmdLine, int nShowCmd)
        {
        // Отображение диалоговой панели.
        MessageBox(NULL,"First MFC-application","Message",MB_OK);
        // Завершение работы приложения
        return 0;
        }

      почитай тут и тут для начала
      Сообщение отредактировано: ElcnU -
        ElcnU

        Благодарю за оперативность!!!

        SDK я скачал и подключил, как быть с MFC и ATL есть гдет такое же описание по подключению как и по SDK???

        #include <windows.h>
        int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
        LPSTR lpCmdLine, int nShowCmd)
        {
        // Отображение диалоговой панели.
        MessageBox(NULL,"First MFC-application","Message",MB_OK);
        // Завершение работы приложения
        return 0;
        }

        в этом коде ошибка

        "c:\documents and settings\ruslan\мои документы\visual studio 2005\projects\tt\tt\main.cpp(6) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [22]' to 'LPCWSTR'"
        Сообщение отредактировано: triton -
          Цитата triton @
          как быть с MFC и ATL есть гдет такое же описание по подключению как и по SDK???

          не искал, не особо нужно :)
          проще поставить другую студию

          Цитата triton @
          "c:\documents and settings\ruslan\мои документы\visual studio 2005\projects\tt\tt\main.cpp(6) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [22]' to 'LPCWSTR'"

          или
          ExpandedWrap disabled
            #include <windows.h>
            #include <tchar.h>
            int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
            LPSTR lpCmdLine, int nShowCmd)
            {
            // Отображение диалоговой панели.
            MessageBox(NULL,_T("First MFC-application"),_T("Message"),MB_OK);
            // Завершение работы приложения
            return 0;
            }

          или
          меню
          project->properties->general->character set->Use Multi-Byte Character Set
            Цитата ElcnU @
            не искал, не особо нужно :)
            проще поставить другую студию



            есть варианты бесплатных???

            Добавлено
            Цитата ElcnU @
            #include <windows.h> #include <tchar.h> int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { // Отображение диалоговой панели. MessageBox(NULL,_T("First MFC-application"),_T("Message"),MB_OK); // Завершение работы приложения return 0; }



            в ответ ошибки

            ------ Build started: Project: tt, Configuration: Debug Win32 ------
            Compiling...
            main.cpp
            c:\documents and settings\ruslan\мои документы\visual studio 2005\projects\tt\tt\main.cpp(5) : warning C4007: 'WinMain' : must be '__stdcall'
            Linking...
            LINK : warning LNK4199: /DELAYLOAD:OleAcc.dll ignored; no imports found from OleAcc.dll
            main.obj : error LNK2019: unresolved external symbol __imp__MessageBoxA@16 referenced in function _WinMain@16
            C:\Documents and Settings\Ruslan\Мои документы\Visual Studio 2005\Projects\tt\Debug\tt.exe : fatal error LNK1120: 1 unresolved externals
            Build log was saved at "file://c:\Documents and Settings\Ruslan\Мои документы\Visual Studio 2005\Projects\tt\tt\Debug\BuildLog.htm"
            tt - 2 error(s), 2 warning(s)
            ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
              Цитата triton @
              в ответ ошибки

              1 должно быть
              project->properties->Linker->SubSystem->Windows (/SUBSYSTEM:WINDOWS)

              2 судя по всему ты не дочитал
              How to: Use Visual C++ Express Edition with the Microsoft Platform SDK
                Цитата ElcnU @
                1 должно быть
                project->properties->Linker->SubSystem->Windows (/SUBSYSTEM:WINDOWS)



                спасибо - помогло! ;)

                а как быть с MFC

                если создавать не пустой проект, то ошибок include "stdafx.h" не вызывает,
                и проект компилирует все нормально
                но там куча комманд и файлов, а хотелось бы собрать все по минимуму...

                так сказать - собрать самому все с пустого проекта и без визарда.
                  Цитата triton @
                  а как быть с MFC

                  выдерни откуда нить (из другой студии)(например у меня "c:\Program Files\Microsoft Visual Studio 8\VC\atlmfc" ) и пропиши также как SDK прописывал
                  потом поменяй
                  project->properties->general->Use of MFC->Use MFC in a Shared DLL
                  или
                  project->properties->general->Use of MFC->Use MFC in a Static Library
                  но это вроде уже небесплатно ;)
                  да и без стандартного редактора ресурсов как то глухо

                  Цитата triton @
                  если создавать не пустой проект, то ошибок include "stdafx.h" не вызывает,
                  и проект компилирует все нормально
                  но там куча комманд и файлов, а хотелось бы собрать все по минимуму...

                  так сказать - собрать самому все с пустого проекта и без визарда.

                  1 когда в визарде создаёшь постав галочку empty project
                  2 добавь к прокту cpp фаил
                  3
                  Цитата ElcnU @
                  project->properties->Linker->SubSystem->Windows (/SUBSYSTEM:WINDOWS)

                  4 пишешь свой код по минимуму.

                  или еще более "поминимуму"?
                  Сообщение отредактировано: ElcnU -
                    Может уже стоит уже проблемы перехода на 2008 студию рассматривать? =)
                      С помощью каких горячих клавиш можно переходить быстро по табам (вкладкам) ?
                      Например след., пред. таб или предыдущий открытый ?
                      Я в настройках windows.NextTab например задаю alt+page down, вроде все нормально, нигде больше такая конбинация не используется - делаю ее, и все равно не переходит.
                      VS2005 и VAX.
                        А у меня вопрос просто по VS и MFC и в частности по макросу TRACE0.
                        Он же получается зависимый и без Afx соотвествующих не подключается/компилируется, а у меня например есть проекты для которых бы очень удобно бы было трейс такой делать при дебаге.
                        Можно ли его как-то попытатся отдельно подключить, не подключая Afx... и MFC ? Может есть у кого собственноручный вариант этого макроса ?
                        Сообщение отредактировано: Cechmanek -
                          Цитата Cechmanek @
                          Может есть у кого собственноручный вариант этого макроса ?

                          Собственного - нет, но есть _RPTx в crtdbg.h
                            При переходе с 2003 студии на 2005 была обнаружена неприятная особенность, и особенность видимо, была в компиляторе ресурсов.
                            значит так, грузил из ресурсов .xslt-шку. В 2003 всё было в порядке, а в 2005 всё в порядке было только в режиме DEBUG. Релиз версия не грузила то что надо. долго не разбирался, просто добавил в конец .xslt-шных файлов два бинарных нолика, всё заработало.
                              Цитата
                              Может есть у кого собственноручный вариант этого макроса ?

                              Можно и свой сделать

                              ExpandedWrap disabled
                                #ifdef _DEBUG
                                #define TRACE   TracePrint
                                #else
                                #define TRACE
                                #endif
                                 
                                inline void TracePrint(const char   *szFormat,...)
                                {
                                    va_list args;
                                    va_start(args, szFormat);
                                    char str[1024]; // Выберите размер, какой хотите
                                    int len = vsprintf(str,szFormat,args);
                                    strncat(str,"\n",1024);
                                    OutputDebugStringA(str);
                                }
                                 
                                 
                                inline void TracePrint(const WCHAR  *szFormat,...)
                                {
                                    va_list args;
                                    va_start(args, szFormat);
                                    TCHAR str[1024]; // Выберите размер, какой хотите
                                    int len = vswprintf(str,szFormat,args);
                                    wcsncat(str,L"\n",1024);
                                    OutputDebugStringW(str);
                                }
                                Перехожу с VS8(2005) на VS9(2008). Не находит хедер <GL\glaux.h> (его в VS9 нету). В VS8 он находился по пути "...\VC\PlatformSDK\Include\gl". В директории VS9 даже нет папки PlatformSDK! Пробовал различные варианты установки - не помогает. Что делать и где его искать? Просто перенести от VS8?
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (20) « Первая ... 13 14 [15] 16 17 ...  19 20 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0549 ]   [ 15 queries used ]   [ Generated: 16.06.25, 20:58 GMT ]