Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа не запускается на другом компьютере. 
V
    Опции темы
Lazin
Дата 24.10.2008, 12:29 (ссылка) |    (голосов:19) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



Я решил раз и навсегда пролить свет на эту тему. так как уже достали =)
Что делать если программа написаная с использованием visual studio 2005 не запускается на другом компьютере. 
Во первых, следует пояснить, что (почти)любая программа на с++ использует стандартную библиотеку - c runtime library, которая содержит набор функций, используемых программой. Например функции для работы с динамической памятью, со строками, с файлами и много чего еще. Эта библиотека может компоноваться либо динасически, либо статически. Так-же существует release и debug версии библиотеки. По умолчанию, когда вы создаете проект в visual studio, он настроен на использование динамической библиотеки. Поэтому, приложение можно будет запустить только на компьютерах, с установленной CRT библиотекой нужной версии. 
Самый очевидный способ решения поблемы - уствновить вместе с приложением нужные библиотеки. Для этого существует Microsoft Visual C++ 2005 Redistributable Package (x86/IA64). Этот пакет устанавливает стандартную библиотеку с++ (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 

Это сообщение отредактировал(а) Lazin - 24.10.2008, 13:13
PM MAIL Skype GTalk   Вверх
JackYF
Дата 24.10.2008, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



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




--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Lazin
Дата 24.10.2008, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



просто спрашивают в основном про нее
PM MAIL Skype GTalk   Вверх
bsa
Дата 24.10.2008, 13:23 (ссылка) |   (голосов:7) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



bsa, действительно так можно делать, а я и не знал smile 
PM MAIL Skype GTalk   Вверх
Ln78
Дата 24.10.2008, 15:15 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 25.11.2006

Репутация: нет
Всего: 15



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

А я depends (Dependency Walker). Не знаю, как в Total Commander, а здесь такого рода ошибки выдаются наглядно.
PM MAIL   Вверх
Rickert
Дата 24.10.2008, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: нет
Всего: 52



+тыща.

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


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
JackYF
Дата 25.10.2008, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Закрепил тему.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Keler
Дата 26.10.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 14.9.2008

Репутация: нет
Всего: нет



Для 2008 студии только установка Microsoft Visual C++ 2008 Redistributable Package (x86/IA64)?Или есть альтернатива?
PM MAIL ICQ   Вверх
Lazin
Дата 30.10.2008, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



насколько я знаю разницы, в этом плане, между 2008-й и 2005-й студией нет
PM MAIL Skype GTalk   Вверх
Microsoft
Дата 3.11.2008, 19:36 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 4.5.2008

Репутация: нет
Всего: нет



Цитата

Заходим в опции проекта, находим там опции компилятора (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)

Это сообщение отредактировал(а) Microsoft - 3.11.2008, 20:42
PM MAIL ICQ Skype   Вверх
jonie
Дата 19.11.2008, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



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

dumpbin /IMPORTS file.exe

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


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Annihilator
Дата 19.11.2008, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


Профиль
Группа: Участник
Сообщений: 493
Регистрация: 21.11.2006
Где: Омск

Репутация: 1
Всего: 3



Цитата(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)

Смотри

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


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
skylex
Дата 21.12.2008, 15:10 (ссылка)    | (голосов:8) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 21.12.2008

Репутация: нет
Всего: нет



А в билдере как сделать?
PM MAIL   Вверх
bsa
Дата 21.12.2008, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



skylex, легко - зайти в настройки проекта и удали все run-time packages, а в настройках линкера включи линковку со статическими библиотеками (кажется, static RTL, или что-то в этом духе).
Модератор: для вопросов по билдеру есть свой раздел.
PM   Вверх
creas0ft
Дата 23.12.2008, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 5.8.2006
Где: Саранск

Репутация: нет
Всего: 2



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

Это сообщение отредактировал(а) creas0ft - 23.12.2008, 02:14
--------------------
Форум программистов уклонистов в сторону сео-шмео
PM MAIL WWW ICQ   Вверх
graber55
Дата 8.6.2009, 22:48 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



Уважаемые господа и дамы, разумеется.
Использование части выше прочитанного не помогло. Части, ибо програмка досталась так сказати "по наследству" и исходников нет. На последних (новых за полгода) ПК не запускается.
Пишет - "недостаточно прав пользователя". При попытк расковырять это сообщение выдает - "требуемый рессурс занят другой программой или отключен". В итоге на половине компов работает на другой - нет. Все одинаково (ну вроде-бы).
Заранее спасибо.
PM MAIL   Вверх
voland55
Дата 12.6.2009, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 5.6.2009

Репутация: нет
Всего: нет



господа вы меня извините конечно если я щас глкпость сморожу.новичок ничо не поделаешь,все ж начинали.
о каком виде готового продукта щас идет речь?
о совершенно готовой к употреблению софтине или как?
просто если первый вариант то как то странно получается,я ведь не ставлю при запуске программы никакой редистрибьютэбл пэкэч.
наверно я чтото не допонял.спасибо.
PM MAIL   Вверх
graber55
Дата 12.6.2009, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



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


PM MAIL   Вверх
bullvinkle
Дата 14.6.2009, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 18.3.2008

Репутация: нет
Всего: нет



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

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

PM MAIL ICQ   Вверх
azesmcar
Дата 15.6.2009, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



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

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

плохо скачал.
PM   Вверх
darkwolf
Дата 18.7.2009, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.7.2009

Репутация: нет
Всего: нет



Если компилировать программу через release все работает (вроде)... ну по крайней мере у меня работало...
PM MAIL   Вверх
Potrashitel
Дата 18.7.2009, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 29.4.2009

Репутация: -2
Всего: -3



 Хмм, для билдера вроде надо 1. В Linker откл Dynamic RTL 
                                                  2. Packages откл Runtime 
 вроде так
PM MAIL   Вверх
Roscherk84
Дата 5.8.2009, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.8.2009

Репутация: нет
Всего: нет



Мучаюсь той же проблемой: приложение работает только на том компьютере, на котором было скомпилировано и слинковано. (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 пакета?
И еще вопрос: что это за манифест от Микрософта?
PM MAIL   Вверх
Romikgy
Дата 6.8.2009, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



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

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

ехешника...


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Roscherk84
Дата 6.8.2009, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.8.2009

Репутация: нет
Всего: нет



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

Погуглив нашёл инфу, что 
Код

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

Но почему?
PM MAIL   Вверх
v_enom
Дата 28.9.2009, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 11.10.2006

Репутация: нет
Всего: нет



а у меня вот что вылазиет, если включаю 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


что делать?
PM MAIL   Вверх
vosa
Дата 20.10.2009, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 20.10.2009

Репутация: нет
Всего: нет



Код

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


так обидно. теперь мне не написать прогри с признанием любви(
PM MAIL   Вверх
Romashkaz
Дата 7.12.2009, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 5.9.2008

Репутация: нет
Всего: нет



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

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

Помогите разобраться пожалуйста.
PM MAIL   Вверх
Камчадал
Дата 23.4.2010, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 31.10.2008
Где: Мытищи - Елизово

Репутация: нет
Всего: нет



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

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

В сообщение указывается что этот самый пэкэдж имеет аргумент в скобках = x86/IA64, а на официальном сайте микрософта (хыж!) требуемый пэкэдж имеет усеченный аргумент = IA64. Причем ни в одном из предлагаемых даунлоадов нет аргументов = x86/IA64.

Собственно вопрос: это лыжи не едут или я сильно начинающий?  smile 
PM MAIL   Вверх
bsa
Дата 23.4.2010, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



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

PM   Вверх
VitalySergeevich
Дата 27.8.2010, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.8.2010
Где: РФ, Воронеж

Репутация: нет
Всего: 0



Прошу прощения, если сейчас напишу глупость...

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


Или я вообще не в тему написал?
PM MAIL   Вверх
bsa
Дата 27.8.2010, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



VitalySergeevich, у тебя есть лишние $600?
PM   Вверх
VitalySergeevich
Дата 28.8.2010, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.8.2010
Где: РФ, Воронеж

Репутация: нет
Всего: 0



Зато очень удобно. Нас так учили.)
Как-никак - альтернатива.

Это сообщение отредактировал(а) VitalySergeevich - 28.8.2010, 13:37
PM MAIL   Вверх
bsa
Дата 29.8.2010, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



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

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

Это сообщение отредактировал(а) bsa - 29.8.2010, 17:34
PM   Вверх
JackYF
Дата 29.8.2010, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



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

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


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
VitalySergeevich
Дата 29.8.2010, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.8.2010
Где: РФ, Воронеж

Репутация: нет
Всего: 0



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

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

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

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

Это сообщение отредактировал(а) VitalySergeevich - 29.8.2010, 22:28
PM MAIL   Вверх
bsa
Дата 30.8.2010, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



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

У меня на *nix сервере настроена кросскомпиляция ПО под Windows с автоматической сборкой дистрибутивов. Поиск зависимостей для линуховых программ вообще никаких проблем не составляет.
PM   Вверх
priam220
Дата 3.9.2010, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010

Репутация: нет
Всего: 8



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

#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) в системных переменных. Она там ищет длл какую то, как я понимаю, но вот зачем. Это ведь не нормально, что бы конечный пользователь ставил компилятор, что бы запустить свою прогу...

Это сообщение отредактировал(а) priam220 - 3.9.2010, 15:53
PM MAIL   Вверх
azesmcar
Дата 3.9.2010, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



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

да действительно беда...
PM   Вверх
priam220
Дата 3.9.2010, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010

Репутация: нет
Всего: 8



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

Добавлено через 11 минут и 29 секунд
перехвалил, видимо.
PM MAIL   Вверх
azesmcar
Дата 3.9.2010, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



priam220

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

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

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

Нет, потому поставляешь необходимые DLL в папке со своей программой.
PM   Вверх
priam220
Дата 3.9.2010, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010

Репутация: нет
Всего: 8



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

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

Это сообщение отредактировал(а) priam220 - 3.9.2010, 16:33
PM MAIL   Вверх
bsa
Дата 3.9.2010, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(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.


Это сообщение отредактировал(а) bsa - 3.9.2010, 23:19
PM   Вверх
priam220
Дата 4.9.2010, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010

Репутация: нет
Всего: 8



хм... работает. Просто. Даже не удобно как то, со второй ссылкой в гугле. Спасибо. smile 
PM MAIL   Вверх
Jmylia
Дата 13.11.2010, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 12.10.2009
Где: Кривой Рог

Репутация: нет
Всего: нет



Спасибо за совет!)

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

Спасибо!)
PM MAIL   Вверх
veranika
Дата 23.11.2010, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 23.11.2010

Репутация: нет
Всего: нет



Здравствуйте, помогите новичку, я не знаю уже что еще делать. У меня 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, и непосредственно в папку с программой-куда только не копировала-ничего. Что еще можно попробовать?

PM MAIL   Вверх
borisbn
Дата 23.11.2010, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



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

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


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Metalex
Дата 4.2.2011, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 635
Регистрация: 22.10.2008
Где: Украина-ZPсity

Репутация: нет
Всего: нет



Перепробовал все. Компилю в релиз. Добавляю длл-ки. Устанавливаю 
Цитата(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'

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

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

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  EXE.rar 818,69 Kb


--------------------
Don't let the system get you down.
PM WWW ICQ Skype   Вверх
borisbn
Дата 4.2.2011, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



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


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

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

ясно ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Metalex
Дата 4.2.2011, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 635
Регистрация: 22.10.2008
Где: Украина-ZPсity

Репутация: нет
Всего: нет



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

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


--------------------
Don't let the system get you down.
PM WWW ICQ Skype   Вверх
borisbn
Дата 4.2.2011, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Цитата(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 и запускай там свою программу без проблем.


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Metalex
Дата 5.2.2011, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 635
Регистрация: 22.10.2008
Где: Украина-ZPсity

Репутация: нет
Всего: нет



borisbn, попробую!


--------------------
Don't let the system get you down.
PM WWW ICQ Skype   Вверх
fuckingniger
Дата 21.6.2011, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 1.10.2010

Репутация: нет
Всего: 1



программа перестала работать после статической компоновки:
Код

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.  Попробуйте переустановить программу.

PM MAIL   Вверх
bsa
Дата 22.6.2011, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



fuckingniger, поставь vcredist_x86.exe нужной версии.
PM   Вверх
fuckingniger
Дата 22.6.2011, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 1.10.2010

Репутация: нет
Всего: 1



а что это такое и  как это установить?

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

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

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

но  и мой и другой компьютер x64, а эта, как видно, x86.
PM MAIL   Вверх
bsa
Дата 22.6.2011, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



fuckingniger, я думаю, что открою тебе вселенскую тайну. ЗНАЧИТ НАДО ПОСТАВИТЬ vcredist_x64.exe!!!
А потом, еще многое зависит от настроек проекта. Если у тебя проект настроен на 32-х битную сборку, то и ставить нужно x86. Ставить нужно на тот комп, на котором хочешь запускать. Естественно, что версия этого "redist" должна совпадать с версией студии (по идее, должен идти в комплекте с ней).
PM   Вверх
Antonv80s
Дата 24.8.2011, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 24.8.2011
Где: Чехия

Репутация: нет
Всего: нет



Кстати в блоге яндекса тоже идет обсуждение по этой теме...   

PM MAIL WWW ICQ   Вверх
nossudak
Дата 17.10.2011, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 17.10.2011

Репутация: нет
Всего: нет



А вот у меня такая проблема:я писал прогу на win7 32,и она запускалась, а на win7 64 она не желает работать,что с этим можно сделать???не судите строго,я не программист...  и еще  ,не могу найти себе Borland C++ на windows 7 /64 ,те что скачивал или платные или отказываются работать на моей системе...кто знает ,где можно скачать подходящую версию с кряком,или же как то еще решить эту проблему...(я старался,искал но не нашел)
PM MAIL   Вверх
bsa
Дата 18.10.2011, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



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
Варез на форуме запрещен

PM   Вверх
goodxaker
Дата 8.12.2011, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.12.2011

Репутация: нет
Всего: нет



Здравствуйте, уважаемые форумчане!
Что-то я так и не нашел ответа.
Программу пишу на Visual studio  2010. Пробовал ставить Multi Threaded Debug (/MTd), но вылезает ошибка несовместимости /clr:pure и /MTd. Что делать, подскажите пожалуйста?? 
PM MAIL   Вверх
boostcoder
Дата 8.12.2011, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



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

перечитать еще раз тему. внимательно.
если не поможет - перечитать еще раз.
PM WWW   Вверх
goodxaker
Дата 8.12.2011, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.12.2011

Репутация: нет
Всего: нет



Тыкните пальцем, ПОЖАЛУЙСТА!!! 
PM MAIL   Вверх
bsa
Дата 8.12.2011, 22:22 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



goodxaker, компилятор тебе человеческим языком говорит, что CLR не совместима с данной опцией. И вообще, если у тебя проект CLR, то тебе в раздел .Net, а не С++.
PM   Вверх
Exiousle
Дата 30.9.2013, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.9.2013

Репутация: нет
Всего: нет



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

Не сердитесь)) написано же "новичок" smile 
PM MAIL WWW   Вверх
akizelokro
Дата 30.9.2013, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



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



--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
rudolfninja
Дата 4.3.2015, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: 1
Всего: 6



Приветсвую всех.
Возможно, вопрос не в том разделе, но по смыслу очень сюда подходит, поэтому задам тут.
Знаю, что в BCB6 можно всю программу ужать только в exe файл. Таким образом это .exe файл можно перенести на любой комп и без дополнительных библиотек запустить его там.
Подскажите, пожалуйста, бесплатный аналог BCB6, который умеет так же собирать программу?
Мне нужно написать программу простую (по сути, я указываю путь к файлу-картинке и у меня на форме отображается эта картинка), которая поместится в один .exe файл. Ну и очень желательно, чтоб IDE была бесплатной.
PM MAIL Skype   Вверх
Romikgy
Дата 4.3.2015, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146





--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Pangok
Дата 7.2.2016, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 7.2.2016

Репутация: нет
Всего: нет



Очень полезная тема, спасибо)
PM MAIL   Вверх
sgvampir
Дата 4.3.2016, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 4.3.2016

Репутация: нет
Всего: нет



Цитата(Lazin @ 24.10.2008,  12:29)
Я решил раз и навсегда пролить свет на эту тему. так как уже достали =)
Что делать если программа написаная с использованием visual studio 2005 не запускается на другом компьютере. 
Во первых, следует пояснить, что (почти)любая программа на с++ использует стандартную библиотеку - c runtime library, которая содержит набор функций, используемых программой. Например функции для работы с динамической памятью, со строками, с файлами и много чего еще. Эта библиотека может компоноваться либо динасически, либо статически. Так-же существует release и debug версии библиотеки. По умолчанию, когда вы создаете проект в visual studio, он настроен на использование динамической библиотеки. Поэтому, приложение можно будет запустить только на компьютерах, с установленной CRT библиотекой нужной версии. 
Самый очевидный способ решения поблемы - уствновить вместе с приложением нужные библиотеки. Для этого существует Microsoft Visual C++ 2005 Redistributable Package (x86/IA64). Этот пакет устанавливает стандартную библиотеку с++ (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)". После перекомпиляции, несем программу на любую машину и запускаем рэп.

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

Пол гугла перерыл, наконецто вы мне помогли)) никак не мог понять почему прога не запускалась скомпиленная в visual studio
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

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

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.3769 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.