singlepost

Вопрос про Visual C++ Express Edition 2005/2008 << На главную или назад  

Что надо изменить в установках чтобы программа скомпилированая в Visual C++ Express Edition 2005 или Visual C++ Express Edition 2008 работала и на другом компьютере где не установлен этот компилятор.

39 ответов в теме “Вопрос про Visual C++ Express Edition 2005/2008”

  1. 24
    Arcade Player ответил:

    Понятно.

  2. 23
    Vitaliy Rakhimov ответил:

    ОФФТОП: Вижел Си Плюс Плюс

  3. 22
    Arcade Player ответил:

    Немного оффтопа:

    Как на англ. произносится Visual C++: Вижуал (с этим понятно) Си плас плас?
    Или дабл плас?(вот с этим проблемы)

  4. 21
    Тимур Рузиев ответил:

    Читайте выше – сделать это просто. Мои программы, собранные в M$V$ 2008 отлично пашут без лишних DLL и без .NET Framework на любой Windows XP.

  5. 20
    Андрей Куликов ответил:

    Да при чем тут .NET Framework, если только автор на Managed C++ не пишет? (((
    Скорее всего скорее всего он просто рантайм динамически линкует и соответсвенно его dll-ку нужно поставлять в дистрибутиве. )

    Есть конечно вариант вобще отказаться от рантайма, но это значит отказаться от всех Сишных функций и почти всей стандартнойбиблиотеки C++ (хотя если переопределить свои new/delete через WinAPI только – можно будет исспользовать стандартные контейнеры). =))

  6. 19
    Юрий Тихомиров ответил:

    Тимур Багаутдинов правильно сказал про .NET Framework – приложения Visual C++ Express Edition 2005 требует .NET Framework 2.0 на машине клиента, а 2008, наверно, 3.0 или выше (не хочется переходить на 2008 – на 2005 не давно-то перешел..). Не исключаю возможность такой настройки, что приложения VC++2005 перестанут требовать .NF 2.0, но я такой настройки не знаю. Самому будет интересно узнать об этом…

  7. 18
    Александр Ренев ответил:

    основная разница в том что managed c++ это .net язык и компилируется в IL
    а с++ компилируется в бинарники
    по сей причине в managed с++ можно использовать все что есть в платформе .net включая сборщик мусора
    но тут есть большое но
    в любом unsafe коде написанном на managed c++ сборщик мусора использоваться не будет.

  8. 17
    Павел Потапов ответил:

    Основная разница между native C++ и managed C++ – это управление памятью. В managed C++ используетс сборщик мусора, а в нативных плюсах – нет. Кроме этого в managed C++ добавлено кое-что из .Net. Ну, и managed плюсы компилируются в нетовский код.

    И не путайте C и C++ – это два разных языка.

  9. 16
    Сергей Фирсов ответил:

    В чем разница между native c++ иmanaged c++.
    Почему managed c++- говно ).
    Как я понял native c++ это чистый С, а managed c++ с доработками microsoft.

  10. 15
    Алексей Жуковский ответил:

    В EXPRESS версии вроде Release и Debug – выставляется в св-вах проекта…

  11. 14
    Павел Потапов ответил:

    > PS: Удивляюсь, как можно писать на таком говне как managed C++? Если такие вообще есть… Сдаётся мне сама M$ забила на него (как и на J#).

    IJW (it just works) – вызов managed кода из плюсов (ну, и наоборот).

  12. 13
    Сергей Фирсов ответил:

    Все понял.

  13. 12
    Тимур Рузиев ответил:

    >Вот это я не понял. Что такое debug конфигурация и release конфигурация и где последнюю врубать.

    Release – релизная конфигурация. Компилятор максимально оптимизирует трансляцию C++ кода. Это полезно для того, когда ты распространяешь свою прогу друзьям, знакомым, заказчику и т.д. Т.е. во внешний мир.

    Debug – отладочная конфигурация. Компилятор оставляет отладочную информацию в бинарнике и не оптимизирует выходной код. Удобно отлаживать программу, проходить профайлером, и т.п.

  14. 11
    Тимур Рузиев ответил:

    Врубается где-то сверху в панели MSVS (под рукой нету). В Project -> Settings можно устанавливать параметры отдельно для каждой из конфигураций, ну и создавать собственные конфигурации, если что-то не устраивает.

  15. 10
    Константин Дерец ответил:

    мучался темже вопросом, что и автор! спасибо за ответы :)

  16. 9
    Сергей Фирсов ответил:

    Спасибо всем, особенно ТимуруРузиеву.

    >Для debug конфигурации можно оставить всё по-старому – не будешь же распространять отладочную сборку.
    >3.Не забывай врубать release конфигурацию перед распространением.

    Вот это я не понял.Что такоеdebug конфигурация иrelease конфигурация и где последнюю врубать.

  17. 8
    Тимур Рузиев ответил:

    >тут ни слова нет про native c++
    >может он пишет на managed c++

    Ок. Автор придёт и скажет…

    PS: Удивляюсь, как можно писать на таком говне как managed C++? Если такие вообще есть… Сдаётся мне сама M$ забила на него (как и на J#).

  18. 7
    Александр Ренев ответил:

    для каких-то целей он весьма неплох
    но у меня таких целей не было еще)
    а J# вероятно был сделан чтоб переманить на .net java-программистов, наверное свои цели он выполнил)

  19. 6
    Тимур Рузиев ответил:

    >для каких-то целей он весьма неплох

    Есть примеры применимости этого мертворождённого поделия на практике (кроме продуктов самой M$)?

    >а J# вероятно был сделан чтоб переманить на .net >java-программистов, наверное свои цели он выполнил)

    Есть примеры такого перехода? Вроде как все Java разработчики плюются от MSIL, .NET, etc.

    PS: Не будем отходить от темы. :)

  20. 5
    Александр Ренев ответил:

    тут ни слова нет про native c++
    может он пишет на managed c++

  21. 4
    Тимур Рузиев ответил:

    1. Посмотри DLL'ки, которые нужны твоей программе. Посмотреть можно через вот эту программу: //www.dependencywalker.com/ . Исходя из этого, можно таскать с exe'шником те DLL'ки, которые нужны твоему exe'шнику.

    2. Используй статическую RTL. Переключать здесь: Project -> Settings -> C++ -> Code Generation -> Use run-time library. Выбирай: Multithreaded (вместо Multithreaded DLL или Single-threaded DLL). Когда ставишь MSVS на свой компьютер, то автоматом устанавливается RTL DLL'ки (на целевых машинах их нет, потому и нужно статически линковатся). Для debug конфигурации можно оставить всё по-старому – не будешь же распространять отладочную сборку.

    3. Не забывай врубать release конфигурацию перед распространением.

  22. 3
    Тимур Рузиев ответил:

    >А .NET Framework стоит на других машинах?

    Причём тут .NET Framework, если он пишет в native C++? У меня отлично всё без него пашет.

  23. 2
    Сергей Фирсов ответил:

    Нет.

  24. 1
    Тимур Багаутдинов ответил:

    А .NET Framework стоит на других машинах?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.