Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Программа не запускается на другом компьютере.


Автор: Lazin 24.10.2008, 12:29
Я решил раз и навсегда пролить свет на эту тему. так как уже достали =)
Что делать если программа написаная с использованием visual studio 2005 не запускается на другом компьютере. 
Во первых, следует пояснить, что (почти)любая программа на с++ использует стандартную библиотеку - c runtime library, которая содержит набор функций, используемых программой. Например функции для работы с динамической памятью, со строками, с файлами и много чего еще. Эта библиотека может компоноваться либо динасически, либо статически. Так-же существует release и debug версии библиотеки. По умолчанию, когда вы создаете проект в visual studio, он настроен на использование динамической библиотеки. Поэтому, приложение можно будет запустить только на компьютерах, с установленной CRT библиотекой нужной версии. 
Самый очевидный способ решения поблемы - уствновить вместе с приложением нужные библиотеки. Для этого существует http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en. Этот пакет устанавливает стандартную библиотеку с++ (MSVCR80.dll) а так-же ATL, MFC и OpenMP библиотеки. После этого ваше приложение можно запускать на этой машине.
Чуть менее очевидный способ - статическая компоновка. Заходим в опции проекта, находим там опции компилятора (C/C++ -> Code Generation), и меняем параметр Runtime Library с "Multi Threaded DLL (/MD)" на "Multi Threaded (/MT)". Для отладочной версии программы нужно поменять "Multi Threaded Debug DLL (/MDd)", на "Multi Threaded Debug (/MTd)". После перекомпиляции, несем программу на любую машину и запускаем.user posted image

Добавлено @ 12:38
ps
для 2008-й студии нужно использовать Microsoft Visual C++ 2008 Redistributable Package (x86/IA64) smile 

Автор: JackYF 24.10.2008, 13:08
Следует заметить, что Visual Studio - не единственная среда разработки smile
А так - спасибо за старания.


Автор: Lazin 24.10.2008, 13:14
просто спрашивают в основном про нее

Автор: bsa 24.10.2008, 13:23
Есть еще универсальный способ (которым пользуюсь я), который подходит и к другим средам программирования (в т.ч. BCB, Delphi и пр.). Для этого понадобится какая-нибудь программа для просмотра содержимого бинарных файлов. Я использую вьюер входящий в состав Total Commander.
Итак, открываем полученный файл exe с помощью вьюера, и ищем по ".DLL" (без кавычек и учета регистра) или другому расширению (например, ".BPL" для BCB), в зависимости от того, на что ругается программа. Будут находиться всякие библиотеки, в т.ч. и стандартные (kernel32.dll, user32.dll и пр.) и не очень. Последние нужно скопировать в дистрибутив. затем ту же операцию повторить для всех библиотек... и так до тех пор, пока не будут найдены все зависимости...

Автор: Lazin 24.10.2008, 13:39
bsa, действительно так можно делать, а я и не знал smile 

Автор: Ln78 24.10.2008, 15:15
Цитата(bsa @  24.10.2008,  14:23 Найти цитируемый пост)
 Я использую вьюер входящий в состав Total Commander.

А я depends (Dependency Walker). Не знаю, как в Total Commander, а здесь такого рода ошибки выдаются наглядно.

Автор: Rickert 24.10.2008, 19:39
+тыща.

Модераторы, думаю эту тему  стоит закрепить отдельно? smile 

Автор: JackYF 25.10.2008, 23:16
Закрепил тему.

Автор: Keler 26.10.2008, 14:23
Для 2008 студии только установка Microsoft Visual C++ 2008 Redistributable Package (x86/IA64)?Или есть альтернатива?

Автор: Lazin 30.10.2008, 12:53
насколько я знаю разницы, в этом плане, между 2008-й и 2005-й студией нет

Автор: Microsoft 3.11.2008, 19:36
Цитата

Заходим в опции проекта, находим там опции компилятора (C/C++ -> Code Generation), и меняем параметр Runtime Library с "Multi Threaded DLL (/MD)" на "Multi Threaded (/MT)".


При компиляции выдаёт:
Код

1>------ Build started: Project: SortTest, Configuration: Release Win32 ------
1>Compiling...
1>cl : Command line error D8016 : '/MT' and '/clr:pure' command-line options are incompatible
1>Build log was saved at "file://d:\КПІ\АкР\(1) АСД\Visual Studio 2008\SortTest\SortTest\Release\BuildLog.htm"
1>SortTest - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

КАК ЭТО ИСПРАВИТЬ??? ГДЕ ОТКЛЮЧИТЬ "/clr:pure" ??? smile 

( * У меня Microsoft Visual Studio 2008)

Автор: jonie 19.11.2008, 10:45
кроме depends (входящей в состав VS) есть утилита dumpbin
использовать ее примерно так:
Код

dumpbin /IMPORTS file.exe

покажет импортные библиотеки и функции (хотя не умеет делать глубокого сканирования, как, например, depends)

Автор: Annihilator 19.11.2008, 14:26
Цитата(Microsoft @ 3.11.2008,  23:36)
Цитата

Заходим в опции проекта, находим там опции компилятора (C/C++ -> Code Generation), и меняем параметр Runtime Library с "Multi Threaded DLL (/MD)" на "Multi Threaded (/MT)".


При компиляции выдаёт:
Код

1>------ Build started: Project: SortTest, Configuration: Release Win32 ------
1>Compiling...
1>cl : Command line error D8016 : '/MT' and '/clr:pure' command-line options are incompatible
1>Build log was saved at "file://d:\КПІ\АкР\(1) АСД\Visual Studio 2008\SortTest\SortTest\Release\BuildLog.htm"
1>SortTest - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

КАК ЭТО ИСПРАВИТЬ??? ГДЕ ОТКЛЮЧИТЬ "/clr:pure" ??? smile 

( * У меня Microsoft Visual Studio 2008)

http://www.bokebb.com/dev/english/1960/posts/196057359.shtml

Балмер! Я узнал тебя  smile 

Автор: skylex 21.12.2008, 15:10
А в билдере как сделать?

Автор: bsa 21.12.2008, 23:55
skylex, легко - зайти в настройки проекта и удали все run-time packages, а в настройках линкера включи линковку со статическими библиотеками (кажется, static RTL, или что-то в этом духе).
Модератор: для вопросов по билдеру есть свой раздел.

Автор: creas0ft 23.12.2008, 02:12
сорри, но где-то видел не помню где  smile - кажется на васме 
можно и в 2008 и 2005 студии собрать чтобы юзалось не MSVCP90.DLL или MSVCP80.DLL, можно скопировать от vc6 msvcrt.lib и подложить это в студию, будет с ней собираться.
не пинать и не бить ногами, я дикий бегинер.  smile 
вот оно _http://www.wasm.ru/forum/viewtopic.php?pid=261576 - но кажется это не то.

Автор: graber55 8.6.2009, 22:48
Уважаемые господа и дамы, разумеется.
Использование части выше прочитанного не помогло. Части, ибо програмка досталась так сказати "по наследству" и исходников нет. На последних (новых за полгода) ПК не запускается.
Пишет - "недостаточно прав пользователя". При попытк расковырять это сообщение выдает - "требуемый рессурс занят другой программой или отключен". В итоге на половине компов работает на другой - нет. Все одинаково (ну вроде-бы).
Заранее спасибо.

Автор: voland55 12.6.2009, 21:15
господа вы меня извините конечно если я щас глкпость сморожу.новичок ничо не поделаешь,все ж начинали.
о каком виде готового продукта щас идет речь?
о совершенно готовой к употреблению софтине или как?
просто если первый вариант то как то странно получается,я ведь не ставлю при запуске программы никакой редистрибьютэбл пэкэч.
наверно я чтото не допонял.спасибо.

Автор: graber55 12.6.2009, 22:13
Всем привет.
Что понимать под "готовой софтиной". Написал пр-ку, скомпилировал ее и .ехешник (1 файлик) используеш. Но почему он на одном компе с ХР и офисом (НИ каких средств разработки - отродясь небыло) ЗАПУСКАЕТСЯ с пол-оборота, а на другом (таком-же) нет. И дает см. ВЫШЕ.
Вот в чем проблема.


Автор: bullvinkle 14.6.2009, 17:45
Цитата(Lazin @  24.10.2008,  12:29 Найти цитируемый пост)
для 2008-й студии нужно использовать Microsoft Visual C++ 2008 Redistributable Package (x86/IA64) smile 

Мне пишет, что install.exe не является приложением win32.
А если поменять параметр Runtime Library, то выкидывает кучу ошибок при компиляции.

Автор: azesmcar 15.6.2009, 17:24
Цитата(bullvinkle @  14.6.2009,  17:45 Найти цитируемый пост)

Мне пишет, что install.exe не является приложением win32.

плохо скачал.

Автор: darkwolf 18.7.2009, 09:59
Если компилировать программу через release все работает (вроде)... ну по крайней мере у меня работало...

Автор: Potrashitel 18.7.2009, 17:40
 Хмм, для билдера вроде надо 1. В Linker откл Dynamic RTL 
                                                  2. Packages откл Runtime 
 вроде так

Автор: Roscherk84 5.8.2009, 23:46
Мучаюсь той же проблемой: приложение работает только на том компьютере, на котором было скомпилировано и слинковано. (Visual Studio 2005 C++)
Способ решения через статическую линковку (Multi Threaded (/MT)) мне не подходит. Нужна динамическая загрузка библиотек.
С помощью Dependency Walker я нашёл нужные DLL: MSVCR80.dll, MSVCP80.dll и kernel32.dll.
Эти библиотеки с того компа, где компилировалось, я положил рядом с exe файлом. Помогло только для Release версии. Для Debug ошибка (Error running program).
Убрал манифест в настройках проекта - стало ругаться на то, что библиотеки Visual Studio без манифеста не подключаются. Но есть плюс: теперь если убрать библиотеки из директории программы, то ругается на отсутствие библиотеки и указывает её имя.
В связи с этим вопрос: как сделать чтобы в Debug версии при динамической компоновке можно было переносить программу на другие компьютеры без инсталяции redist пакета?
И еще вопрос: что это за манифест от Микрософта?

Автор: Romikgy 6.8.2009, 00:00
посмотри этим
Цитата(Roscherk84 @  5.8.2009,  22:46 Найти цитируемый пост)
Dependency Walker

что нужно 
Цитата(Roscherk84 @  5.8.2009,  22:46 Найти цитируемый пост)
в Debug версии

ехешника...

Автор: Roscherk84 6.8.2009, 00:11
А ему то же самое нужно, но с буковкой d в конце: MSVCR80d.dll, MSVCP80d.dll и kernel32.dll. И еще MSVCRT.dll, которая зависит от MSVCR80d.dll.
Всё, что начинается с msvc, положил в директорию с программой, но всё равно не работает с другого компьютера.

Погуглив нашёл http://www.cyberforum.ru/archive/index.php/t-23864.html, что 
Код

У Вас работает Debug версия. Дальше Вы пытаетесь её перенести на другой компьютер, а там она работать не будет. И даже не поможет Redistributable Package.

Но почему?

Автор: v_enom 28.9.2009, 16:05
а у меня вот что вылазиет, если включаю MT и отрубаю clr

Error    15    error C3381: 'Game' : assembly access specifiers are only available in code compiled with a /clr option    f:\мои документы\visual studio 2005\projects\game_killboxes\game_killboxes\GameClass.h    17    Game_KillBoxes


что делать?

Автор: vosa 20.10.2009, 23:01
Код

Visual C++ General > '/MT' and '/clr' command-line options are incompatible


так обидно. теперь мне не написать прогри с признанием любви(

Автор: Romashkaz 7.12.2009, 00:55
скачал vcredist на компьютер на котором хочу запустить программку, но ничего не изменилось. Ошибка такова:

This application has failed to start because the application configuration is incorrect. Reinstalling the application my fix this problem.

Помогите разобраться пожалуйста.

Автор: Камчадал 23.4.2010, 11:14
Цитата(Lazin @ 24.10.2008,  12:29)
для 2008-й студии нужно использовать Microsoft Visual C++ 2008 Redistributable Package (x86/IA64) smile

Сейчас задам дурацкий вопрос и это неизбежно  smile 

В сообщение указывается что этот самый пэкэдж имеет аргумент в скобках = x86/IA64, а на официальном сайте микрософта (http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=461f404b-d0a9-4c69-8086-30c604f885f5&displayLang=en) требуемый пэкэдж имеет усеченный аргумент = IA64. Причем ни в одном из предлагаемых даунлоадов нет аргументов = x86/IA64.

Собственно вопрос: это лыжи не едут или я сильно начинающий?  smile 

Автор: bsa 23.4.2010, 22:58
Цитата(Камчадал @  23.4.2010,  11:14 Найти цитируемый пост)
Собственно вопрос: это лыжи не едут или я сильно начинающий?
второе.
IA64 - это для процессора Intel Itanium. У тебя такой? Сомневаюсь. Скорее всего у тебя что-то на базе x86 или x64, если винда 64-х битная.

Автор: VitalySergeevich 27.8.2010, 10:25
Прошу прощения, если сейчас напишу глупость...

А не легче ли сделать дистрибутив своей программы с помощью, например, InstallShield 2008.
При создании дистрибутива InstallShield ищет все зависимости и добавляет их к Setup.exe.
Остается лишь установить прогу на др. компьютере.


Или я вообще не в тему написал?

Автор: bsa 27.8.2010, 14:17
VitalySergeevich, у тебя есть лишние $600?

Автор: VitalySergeevich 28.8.2010, 11:40
Зато очень удобно. Нас так учили.)
Как-никак - альтернатива.

Автор: bsa 29.8.2010, 17:34
Цитата(VitalySergeevich @  28.8.2010,  12:40 Найти цитируемый пост)
Нас так учили.)

А вот нас воровать не учили - нас учили думать... Поэтому я использую простейший hex viewer с поиском, и ищу все упоминания .dll в экзешнике. А под *nix это вообще автоматически делается у меня, с использованием команд strings и grep.

Автор: JackYF 29.8.2010, 21:51
Цитата(bsa @  29.8.2010,  16:34 Найти цитируемый пост)
А под *nix это вообще автоматически делается у меня, с использованием команд strings и grep

Я не следил за темой, но... ldd?

Автор: VitalySergeevich 29.8.2010, 22:26
bsa, знаете ли, не у всех *nix-ы... И вообще, это раздел "Для новичков", поэтому я и решил написать, по-моему, самый простейший способ. Про воровство я ничего не сказал, и поэтому ваш назидательный тон: 
Цитата

А вот нас воровать не учили - нас учили думать...
 здесь неуместен. Я ни что не рекламирую, и ни к чему не призываю. Просто говорю, что еще можно так, исключительно потому, что считаю, что может кому-нибудь это пригодиться.

Я все сказал!)

Прошу прощения за ужасный оффтоп...

Автор: bsa 30.8.2010, 10:31
Цитата(JackYF @  29.8.2010,  22:51 Найти цитируемый пост)
Я не следил за темой, но... ldd?

У меня на *nix сервере настроена кросскомпиляция ПО под Windows с автоматической сборкой дистрибутивов. Поиск зависимостей для линуховых программ вообще никаких проблем не составляет.

Автор: priam220 3.9.2010, 15:46
в общем беда такая... написал я в блокноте маленькую программку:
Код

#include <windows.h>
#include <stdio.h>
int main()
{
    HWND hwnd;
    char p[100];
    hwnd = GetDesktopWindow();
    hwnd = GetWindow(hwnd, GW_CHILD);
    while (hwnd !=0)
    {
     hwnd = GetWindow(hwnd, GW_HWNDNEXT);
     GetWindowText(hwnd,p,100);
     if (strlen(p)>0)  printf("%s \n",p);
    }
    return 0;
}


все нормально, она работает. Но! Она работает только при наличии пути к bin папке компилятора (C:\MinGW\bin) в системных переменных. Она там ищет длл какую то, как я понимаю, но вот зачем. Это ведь не нормально, что бы конечный пользователь ставил компилятор, что бы запустить свою прогу...

Автор: azesmcar 3.9.2010, 15:51
Цитата(priam220 @  3.9.2010,  15:46 Найти цитируемый пост)
в общем беда такая... написал я в блокноте маленькую программку:

да действительно беда...

Автор: priam220 3.9.2010, 15:54
очень рад такой оперативности, вооббще этим этот форум мне и нравится!

Добавлено через 11 минут и 29 секунд
перехвалил, видимо.

Автор: azesmcar 3.9.2010, 16:12
priam220

Цитата(priam220 @  3.9.2010,  15:46 Найти цитируемый пост)
Это сообщение отредактировал(а) priam220 - 3.9.2010, 15:53 

поздно вопрос добавил smile 

Цитата(priam220 @  3.9.2010,  15:46 Найти цитируемый пост)
Это ведь не нормально, что бы конечный пользователь ставил компилятор, что бы запустить свою прогу...

Нет, потому поставляешь необходимые DLL в папке со своей программой.

Автор: priam220 3.9.2010, 16:24
libgcc_s_dw2-1.dll
Путем не хитрых эксперементов выяснил, что вышеуказанному коду требуется эта длл (в этой папке). Что нужно вышеуказанному коду в этой дллке?

Добавлено @ 16:33
Я понимаю, что вопрос возможно не тривиальный даже для более опытных людей, но все же. Мне как то приходилось компилить борландовским компилятором, не припомню, что я к экзешнику прилаживал библиотеки из самого компилятора. Да и нафига? Системные Апи функции плюс инструкции С. Ничего левого. Зачем длл? 

Автор: bsa 3.9.2010, 23:19
Цитата(priam220 @  3.9.2010,  17:24 Найти цитируемый пост)
Что нужно вышеуказанному коду в этой дллке?

Цитата(google по слову "libgcc_s_dw2-1.dll" @  2-я ссылка)
Dynamic linking with libgcc_s_dw2-1.dll is necessary to throw
exceptions between different modules, such as between two DLLs or a
DLL and an EXE. Consequently, it is the default for all languages
other than C. To disable this dynamic linking, use -static-libgcc.
To enable this dynamic linking in C, use -shared-libgcc.
Перевод:
Цитата
динамическая компоновка с libgcc_s_dw2-1.dll требуется для генерации
исключений между разными модулями, таким как два DLL или
DLL и EXE. Следовательно, это по умолчанию для всех языков,
кроме Си. Для выключения динамической компоновки следует
использовать -static-libgcc. А для включения в Си используйте
-shared-libgcc.

Автор: priam220 4.9.2010, 23:07
хм... работает. Просто. Даже не удобно как то, со второй ссылкой в гугле. Спасибо. smile 

Автор: Jmylia 13.11.2010, 21:09
Спасибо за совет!)

Visual Studio 2010: открываем нужный вам проект, заховим в Проект > Свойства (или жмем Alt+F7), затем выбираем C/C++ > Создание кода и на против "Библиотека времени выполнения", как писал автор, меняем значение с "Multi Threaded Debug DLL (/MDd)", на "Multi Threaded Debug (/MTd)", компилируем и кидаем .exe файл с Моих Документов кому хотите.

Спасибо!)

Автор: veranika 23.11.2010, 21:18
Здравствуйте, помогите новичку, я не знаю уже что еще делать. У меня Visual Studio 2008, вылезает ошибка примерно следуещего характера "  MSVCP90D . dll   не   найден . Повторная установка типа поможет".  Понятное дело что повторная установка ничего не дала. Как советовали в первом посте
, установила Microsoft Visual C++ 2008 Redistributable Package -не помогло.Если меняю  Runtime Library с "Multi Threaded DLL (/MD)" на "Multi Threaded (/MT)" -выдает 6 ошибок в программе из 5 строчек и вообще не создает exe.  Причем эта MSVCP90D . dll есть а компьютере, я ее уже и в system32, и непосредственно в папку с программой-куда только не копировала-ничего. Что еще можно попробовать?

Автор: borisbn 23.11.2010, 23:50
Цитата(veranika @  23.11.2010,  21:18 Найти цитируемый пост)
Что еще можно попробовать?

почитать FAQ
Debug-версия ( а у тебя именно она ) и не должна запускаться на др. компе. Для Release достаточно Microsoft Visual C++ 2008 Redistributable Package 

Автор: Metalex 4.2.2011, 00:37
Перепробовал все. Компилю в релиз. Добавляю длл-ки. Устанавливаю 
Цитата(borisbn @  23.11.2010,  23:50 Найти цитируемый пост)
Microsoft Visual C++ 2008 Redistributable Package 

менял
Цитата(Jmylia @  13.11.2010,  21:09 Найти цитируемый пост)
"Multi Threaded Debug DLL (/MDd)", на "Multi Threaded Debug (/MTd)"

но получал неизменную ошибку
Цитата

Command line error D8016 : '/MT' and '/clr:pure'

пробовал ее исправить, не помогает.

Брошу экзешник.
Подскажите, как заставить работать приложение.

Автор: borisbn 4.2.2011, 09:26
Цитата(Metalex @  4.2.2011,  00:37 Найти цитируемый пост)
Компилю в релиз


Цитата(Metalex @  4.2.2011,  00:37 Найти цитируемый пост)

менял "Multi Threaded Debug DLL (/MDd)", на "Multi Threaded Debug (/MTd)"

ясно ?

Автор: Metalex 4.2.2011, 12:51
И тогда компилить в 
Цитата(borisbn @  4.2.2011,  09:26 Найти цитируемый пост)
Debug

?
А зачем мне в экзешнике отладочная инфа?

Автор: borisbn 4.2.2011, 14:02
Цитата(Metalex @  4.2.2011,  12:51 Найти цитируемый пост)
И тогда компилить в Цитата(borisbn @  4.2.2011,  09:26 )Debug?

нет. Компилировать для распространения свою программу нужно в Release, а ты устанавливаешь параметры компиляции для Debug.
Цитата(Metalex @  4.2.2011,  00:37 Найти цитируемый пост)
"Multi Threaded Debug DLL (/MDd)", на "Multi Threaded Debug (/MTd)"


Я бы тебе посоветовал следующее. Создай новый пустой проект, ничего не меняй у него в настройках, добавь в него свои исходники, и компилируй, выбирая тип Release. Затем установи на Target-компьютер vcredist и запускай там свою программу без проблем.

Автор: Metalex 5.2.2011, 14:31
borisbn, попробую!

Автор: fuckingniger 21.6.2011, 19:28
программа перестала работать после статической компоновки:
Код

1>------ Построение начато: проект: snake_2, Конфигурация: Debug Win32 ------
1>Построение начато 21.06.2011 20:26:29.
1>InitializeBuildStatus:
1>  Создание "Debug\snake_2.unsuccessfulbuild", так как было задано "AlwaysCreate".
1>ClCompile:
1>  Для всех выходных данных обновления не требуется.
1>  main.cpp
1>c:\users\redwhite\documents\visual studio 2010\projects\snake_2\main.cpp(195): warning C4244: аргумент: преобразование "time_t" в "unsigned int", возможна потеря данных
1>c:\users\redwhite\documents\visual studio 2010\projects\snake_2\main.cpp(207): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\redwhite\documents\visual studio 2010\projects\snake_2\main.cpp(213): warning C4996: 'kbhit': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _kbhit. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(130): см. объявление "kbhit"
1>c:\users\redwhite\documents\visual studio 2010\projects\snake_2\main.cpp(215): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\redwhite\documents\visual studio 2010\projects\snake_2\main.cpp(217): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\redwhite\documents\visual studio 2010\projects\snake_2\main.cpp(220): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>ManifestResourceCompile:
1>  Для всех выходных данных обновления не требуется.
1>main.obj : error LNK2005: "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)" (?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > &))" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(int)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)" (?_Decref@facet@locale@std@@QAEPAV123@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: int __thiscall std::ios_base::flags(void)const " (?flags@ios_base@std@@QBEHXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: class std::locale __thiscall std::ios_base::getloc(void)const " (?getloc@ios_base@std@@QBE?AVlocale@2@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: void __thiscall std::locale::facet::_Incref(void)" (?_Incref@facet@locale@std@@QAEXXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: virtual __thiscall std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct std::char_traits<char> >(void)" (??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const " (?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::getline(char *,__int64)" (?getline@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PAD_J@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: virtual __thiscall std::basic_iostream<char,struct std::char_traits<char> >::~basic_iostream<char,struct std::char_traits<char> >(void)" (??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAE@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: virtual __thiscall std::basic_ostream<char,struct std::char_traits<char> >::~basic_ostream<char,struct std::char_traits<char> >(void)" (??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: virtual __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)" (??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: virtual __int64 __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::showmanyc(void)" (?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE_JXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: virtual __int64 __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::xsgetn(char *,__int64)" (?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE_JPAD_J@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: virtual __int64 __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::xsputn(char const *,__int64)" (?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE_JPBD_J@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: __thiscall std::_Container_base12::_Container_base12(void)" (??0_Container_base12@std@@QAE@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QAE@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: void __thiscall std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QAEXXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class std::basic_streambuf<char,struct std::char_traits<char> > *,bool)" (??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::clear(int,bool)" (?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const " (?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(void)" (??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sgetc(void)" (?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::snextc(void)" (?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: bool __thiscall std::basic_istream<char,struct std::char_traits<char> >::_Ipfx(bool)" (?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: bool __thiscall std::ctype<char>::is(short,char)const " (?is@?$ctype@D@std@@QBE_NFD@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: bool __thiscall std::ios_base::good(void)const " (?good@ios_base@std@@QBE_NXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::eback(void)const " (?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const " (?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pptr(void)const " (?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::egptr(void)const " (?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::epptr(void)const " (?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Gndec(void)" (?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Gninc(void)" (?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)" (?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: struct std::_Iterator_base12 * * __thiscall std::_Container_base12::_Getpfirst(void)const " (?_Getpfirst@_Container_base12@std@@QBEPAPAU_Iterator_base12@2@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: __thiscall std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class std::basic_streambuf<char,struct std::char_traits<char> > *)" (??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: bool __thiscall std::codecvt_base::always_noconv(void)const " (?always_noconv@codecvt_base@std@@QBE_NXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: int __thiscall std::codecvt<char,char,int>::in(int &,char const *,char const *,char const * &,char *,char *,char * &)const " (?in@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: int __thiscall std::codecvt<char,char,int>::out(int &,char const *,char const *,char const * &,char *,char *,char * &)const " (?out@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const " (?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)" (??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: class std::locale __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::getloc(void)const " (?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setg(char *,char *,char *)" (?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Init(void)" (?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Init(char * *,char * *,int *,char * *,char * *,int *)" (?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: int __thiscall std::codecvt<char,char,int>::unshift(int &,char *,char *,char * &)const " (?unshift@?$codecvt@DDH@std@@QBEHAAHPAD1AAPAD@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: __thiscall std::locale::id::operator unsigned int(void)" (??Bid@locale@std@@QAEIXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: static unsigned int __cdecl std::ctype<char>::_Getcat(class std::locale::facet const * *,class std::locale const *)" (?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: __int64 __thiscall std::ios_base::width(void)const " (?width@ios_base@std@@QBE_JXZ) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: __int64 __thiscall std::ios_base::width(__int64)" (?width@ios_base@std@@QAE_J_J@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: __int64 __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,__int64)" (?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE_JPBD_J@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>main.obj : error LNK2005: "public: static unsigned int __cdecl std::codecvt<char,char,int>::_Getcat(class std::locale::facet const * *,class std::locale const *)" (?_Getcat@?$codecvt@DDH@std@@SAIPAPBVfacet@locale@2@PBV42@@Z) уже определен в msvcprtd.lib(MSVCP100D.dll)
1>LINK : warning LNK4098: библиотека по умолчанию "LIBCMT" противоречит использованию других библиотек; используйте параметр /NODEFAULTLIB:library
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: неразрешенный внешний символ "__CrtDbgReportW"
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __CrtDbgReportW в функции "public: struct _COORD & __thiscall std::vector<struct _COORD,class std::allocator<struct _COORD> >::operator[](unsigned int)" (??A?$vector@U_COORD@@V?$allocator@U_COORD@@@std@@@std@@QAEAAU_COORD@@I@Z)
1>libcpmtd.lib(cout.obj) : error LNK2001: неразрешенный внешний символ "__CrtDbgReportW"
1>libcpmtd.lib(stdthrow.obj) : error LNK2001: неразрешенный внешний символ "__CrtDbgReportW"
1>libcpmtd.lib(cin.obj) : error LNK2001: неразрешенный внешний символ "__CrtDbgReportW"
1>libcpmtd.lib(locale0.obj) : error LNK2001: неразрешенный внешний символ "__free_dbg"
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: неразрешенный внешний символ "__free_dbg"
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __free_dbg в функции "private: void __thiscall std::_Yarn<char>::_Tidy(void)" (?_Tidy@?$_Yarn@D@std@@AAEXXZ)
1>libcpmtd.lib(cout.obj) : error LNK2001: неразрешенный внешний символ "__free_dbg"
1>libcpmtd.lib(cin.obj) : error LNK2001: неразрешенный внешний символ "__free_dbg"
1>libcpmtd.lib(xdebug.obj) : error LNK2001: неразрешенный внешний символ "__free_dbg"
1>libcpmtd.lib(xdebug.obj) : error LNK2019: ссылка на неразрешенный внешний символ __malloc_dbg в функции "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)
1>libcpmtd.lib(locale0.obj) : error LNK2001: неразрешенный внешний символ "__malloc_dbg"
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: неразрешенный внешний символ "__malloc_dbg"
1>libcpmtd.lib(_tolower.obj) : error LNK2019: ссылка на неразрешенный внешний символ __calloc_dbg в функции __Getctype
1>C:\Users\redwhite\Documents\Visual Studio 2010\Projects\snake_2\Debug\snake_2.exe : fatal error LNK1120: 4 неразрешенных внешних элементов
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:04.73
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========



Добавлено через 10 минут и 51 секунду
поставил release и теперь на моём компе запустилось, а вот неа другом написало:
Код

запуск программы не возможен т.к. на компьютере отсутствует MSVCP100D.dll.  Попробуйте переустановить программу.

Автор: bsa 22.6.2011, 11:41
fuckingniger, поставь vcredist_x86.exe нужной версии.

Автор: fuckingniger 22.6.2011, 17:05
а что это такое и  как это установить?

Добавлено через 2 минуты и 24 секунды
и на какой компьютер поставить?

Добавлено через 9 минут и 15 секунд
http://www.microsoft.com/download/en/details.aspx?id=5555

если вы об этом. то я ставил на другом компьютере.

но  и мой и другой компьютер x64, а эта, как видно, x86.

Автор: bsa 22.6.2011, 17:34
fuckingniger, я думаю, что открою тебе вселенскую тайну. ЗНАЧИТ НАДО ПОСТАВИТЬ vcredist_x64.exe!!!
А потом, еще многое зависит от настроек проекта. Если у тебя проект настроен на 32-х битную сборку, то и ставить нужно x86. Ставить нужно на тот комп, на котором хочешь запускать. Естественно, что версия этого "redist" должна совпадать с версией студии (по идее, должен идти в комплекте с ней).

Автор: Antonv80s 24.8.2011, 14:16
Кстати в блоге яндекса тоже идет обсуждение по этой теме...   

Автор: nossudak 17.10.2011, 19:23
А вот у меня такая проблема:я писал прогу на win7 32,и она запускалась, а на win7 64 она не желает работать,что с этим можно сделать???не судите строго,я не программист...  и еще  ,не могу найти себе Borland C++ на windows 7 /64 ,те что скачивал или платные или отказываются работать на моей системе...кто знает ,где можно скачать подходящую версию с кряком,или же как то еще решить эту проблему...(я старался,искал но не нашел)

Автор: bsa 18.10.2011, 00:44
nossudak, очень часто в windows-программах (и не только) допускают серьезную ошибку (в принципе, WINAPI к этому провоцирует): LONG param = (LONG)pointerToSomething; Так вот, под 32-х битной системой sizeof(LONG) == sizeof(void*), т.е. такое присваивание теоретически легитимно. А вот в windows64 sizeof(void*) == 2 * sizeof(LONG)...
Цитата(nossudak @  17.10.2011,  20:23 Найти цитируемый пост)
:я писал прогу на win7 32,и она запускалась, а на win7 64 она не желает работать,что с этим можно сделать???
Для начала нужно понять, что за ошибка. Не хватает dll или просто программа валится из-за внутренней ошибки. Скорее всего, программа содержит ошибку (например, использование неинициализированной переменной), которая сейчас не проявляется, а завтра вылазит.
Цитата(nossudak @  17.10.2011,  20:23 Найти цитируемый пост)
не могу найти себе Borland C++ на windows 7 /64
Не существует такой. Фирма Borland проиграла войну компиляторов (продала свой бизнес Embarcadero), так как ее компилятор значительно уступал конкурентам. Теперь правят балом MS (есть бесплатная версия - Visual Studio Express) и mingw (на основе gcc, бесплатный). Скоро, допилят до конца CLang, и, возможно, он начнет вытеснять GCC.
Цитата(nossudak @  17.10.2011,  20:23 Найти цитируемый пост)
где можно скачать подходящую версию с кряком

 ! 
bsa
Варез на форуме запрещен

Автор: goodxaker 8.12.2011, 20:41
Здравствуйте, уважаемые форумчане!
Что-то я так и не нашел ответа.
Программу пишу на Visual studio  2010. Пробовал ставить Multi Threaded Debug (/MTd), но вылезает ошибка несовместимости /clr:pure и /MTd. Что делать, подскажите пожалуйста?? 

Автор: boostcoder 8.12.2011, 20:46
Цитата(goodxaker @  8.12.2011,  20:41 Найти цитируемый пост)
Что делать, подскажите пожалуйста?

перечитать еще раз тему. внимательно.
если не поможет - перечитать еще раз.

Автор: goodxaker 8.12.2011, 20:59
Тыкните пальцем, ПОЖАЛУЙСТА!!! 

Автор: bsa 8.12.2011, 22:22
goodxaker, компилятор тебе человеческим языком говорит, что CLR не совместима с данной опцией. И вообще, если у тебя проект CLR, то тебе в раздел .Net, а не С++.

Автор: Exiousle 30.9.2013, 20:54
Цитата(bsa @ 8.12.2011,  22:22)
goodxaker, компилятор тебе человеческим языком говорит, что CLR не совместима с данной опцией. И вообще, если у тебя проект CLR, то тебе в раздел .Net, а не С++.

Не сердитесь)) написано же "новичок" smile 

Автор: akizelokro 30.9.2013, 21:10
Если используешь Windows Forms и мешаешь managed с native кодом, то опцию /clr убирать бесполезно.
Если же работаешь в пределах win32 или mfc, то убираешь /clr и тогда "будет тебе щастье" (или просто переносишь код в новый проект, построенный без windows forms и managed кода).

Автор: rudolfninja 4.3.2015, 11:28
Приветсвую всех.
Возможно, вопрос не в том разделе, но по смыслу очень сюда подходит, поэтому задам тут.
Знаю, что в BCB6 можно всю программу ужать только в exe файл. Таким образом это .exe файл можно перенести на любой комп и без дополнительных библиотек запустить его там.
Подскажите, пожалуйста, бесплатный аналог BCB6, который умеет так же собирать программу?
Мне нужно написать программу простую (по сути, я указываю путь к файлу-картинке и у меня на форме отображается эта картинка), которая поместится в один .exe файл. Ну и очень желательно, чтоб IDE была бесплатной.

Автор: Romikgy 4.3.2015, 15:39
http://www.codeblocks.org/

Автор: Pangok 7.2.2016, 15:14
Очень полезная тема, спасибо)

Автор: sgvampir 4.3.2016, 08:39
Цитата(Lazin @ 24.10.2008,  12:29)
Я решил раз и навсегда пролить свет на эту тему. так как уже достали =)
Что делать если программа написаная с использованием visual studio 2005 не запускается на другом компьютере. 
Во первых, следует пояснить, что (почти)любая программа на с++ использует стандартную библиотеку - c runtime library, которая содержит набор функций, используемых программой. Например функции для работы с динамической памятью, со строками, с файлами и много чего еще. Эта библиотека может компоноваться либо динасически, либо статически. Так-же существует release и debug версии библиотеки. По умолчанию, когда вы создаете проект в visual studio, он настроен на использование динамической библиотеки. Поэтому, приложение можно будет запустить только на компьютерах, с установленной CRT библиотекой нужной версии. 
Самый очевидный способ решения поблемы - уствновить вместе с приложением нужные библиотеки. Для этого существует http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en. Этот пакет устанавливает стандартную библиотеку с++ (MSVCR80.dll) а так-же ATL, MFC и OpenMP библиотеки. После этого ваше приложение можно запускать на этой машине.
Чуть менее очевидный способ - статическая компоновка. Заходим в опции проекта, находим там опции компилятора (C/C++ -> Code Generation), и меняем параметр Runtime Library с "Multi Threaded DLL (/MD)" на "Multi Threaded (/MT)". Для отладочной версии программы нужно поменять "Multi Threaded Debug DLL (/MDd)", на "Multi Threaded Debug (/MTd)". После перекомпиляции, несем программу на любую машину и запускаем http://rapbest.ru/.

Добавлено @ 12:38
ps
для 2008-й студии нужно использовать Microsoft Visual C++ 2008 Redistributable Package (x86/IA64) smile

Пол гугла перерыл, наконецто вы мне помогли)) никак не мог понять почему прога не запускалась скомпиленная в visual studio

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)