Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Вот уж не ожидал, что старый компилятор может быть лучше нового :)  (Прочитано 16645 раз)
0 Пользователей и 6 Гостей смотрят эту тему.
Daniloff
Помогающий

ru
Offline Offline

« : 07-05-2010 20:12 » 

Делал программу в VS2008. А клиенты жалуются - то у одного, то у другого не работает. Стал разбираться: exe-файл кроме kernel32, user32 и shell32 очень активно юзает такого монстра, как MSVCR90D.dll
Что делать? Пришлось перекомпилировать код под VS6.0 Всё! Никаких левых библиотек.
Единственно, в чем сомневаюсь, может, и в новой студии как-то можно отключить использование этих монстров?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 07-05-2010 20:19 » 

а я наоборот, из 6 сконвертил бааашой проект в 2008 - монстров не замечено )
Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 07-05-2010 21:06 » 

Леш, может у тебя данная библиотека на всех машинах уже есть? А то ведь с виндой такое бывает... Например, на некоторых компах команды net не было, хотя оная с win95 присутствует во всех версиях. Вопрос для исследования.

Daniloff, попробуй использовать инсталляторы: чтобы они ставили в клиентскую систему нужный dll (совместимый с клиентской ОС!), если его еще нет.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 07-05-2010 22:30 » 

Заменить в настройках проекта Multithreaded DLL на Multithreaded. В 2008 студии проекты по умолчанию настроены на динамическую линковку для CRT.

Кстати, MSVCR90D - отладочная. Так и задумано, что дебажная сборка идёт клиентам?
« Последнее редактирование: 07-05-2010 22:32 от Вад » Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #4 : 07-05-2010 22:37 » 

Daniloff, а ты в релизе не пробовал компилировать? А если уж хочется в дебуге, то попробуй установи:

Project properties -> Linker -> General -> Enable Incremental Linking: No

Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 08-05-2010 04:35 » 

Ром, если выбирать статическую линковку - то проблем не возникало
Записан

resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 08-05-2010 08:04 » 

Цитата: Вад
Так и задумано, что дебажная сборка идёт клиентам?
  Ага ага как же. Таких примеров пруд пруди. Кто-то чего-то не знает или не умеет, и сразу "студия кривая" и всё такое.

Джон, что-то не понял, причем тут Incremental Linking. Что, MSVCR90D перестанет линковаться от этого?
Записан
Daniloff
Помогающий

ru
Offline Offline

« Ответ #7 : 08-05-2010 08:52 » 

Кстати, MSVCR90D - отладочная. Так и задумано, что дебажная сборка идёт клиентам?

Опс, не в той папке глядел... Таки да, в релизе без "D" Улыбаюсь
Записан
Daniloff
Помогающий

ru
Offline Offline

« Ответ #8 : 08-05-2010 08:58 » 

Проблема решилась заменой опции "multithreaded DLL" на "multithreaded"

Всем спасибо за советы!
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #9 : 08-05-2010 10:07 » 

Джон, что-то не понял, причем тут Incremental Linking. Что, MSVCR90D перестанет линковаться от этого?

Нет конечно.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #10 : 08-05-2010 10:07 » 

Daniloff, те у тебя в релизе проблемы были?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Daniloff
Помогающий

ru
Offline Offline

« Ответ #11 : 08-05-2010 10:10 » 

Джон, и релиз, и отладочный билд - оба юзали DLL. Теперь поправил.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 08-05-2010 10:17 » new

Ром, если выбирать статическую линковку - то проблем не возникало

Леш, не знал, что винда поддерживает статическую линковку Улыбаюсь Я VC не трогал уже очень давно...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #13 : 08-05-2010 12:09 » 

Джон, и релиз, и отладочный билд - оба юзали DLL. Теперь поправил.

Не, это понятно. Я просто хотел уточнить, была ли проблема с релизной версией, с дебужной или с обоими? У меня просто были проблемы с этой длл в дебуге, я нашёл в инете, что можно решить проблему установкой Incremental Linking как в релизие, те в NO. Хотелось бы знать, об у тебя похожая проблема была.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Daniloff
Помогающий

ru
Offline Offline

« Ответ #14 : 08-05-2010 15:52 » 

Джон, у меня-то не было проблем. Улыбаюсь У клиентов были. (Релиз версия естественно). Лечились установкой VC90Runtime. Но не больно то изящно к программе размером 100 кб скачивать обязательный компонент весом 4 Мб Улыбаюсь
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #15 : 09-05-2010 03:48 » 

Ром, если выбирать статическую линковку - то проблем не возникало

Леш, не знал, что винда поддерживает статическую линковку Улыбаюсь Я VC не трогал уже очень давно...
по крайней мере относительно MFC -
когда на компе коллеги запустил программу (у него студии нету) а она там работать отказалась )) Выбрал "использовать MFC в статической библиотеке" - размер файла увеличился, а проблемы ушли
Записан

Phodopus
Интересующийся

ru
Offline Offline

« Ответ #16 : 14-05-2010 11:34 » 

Настолько стандартный вопрос что плакать хочется...
Тут http://msdn.microsoft.com/en-us/library/ms235342(v=VS.80).aspx статья о возникающих проблемах.
Тут http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en
Тут http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en
Тут http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en
Тут http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en
пакеты распространения для VC2005, VC2005SP1, VC2008, VC2008SP1 архитектуры x86 соответственно. По лицензионному соглашению вы имеете право распространять их вместе со своим приложением (многие приложения так и поступают, их инсталлятор содержит и запускает установку одного из этих пакетов). Пакеты для будущих версий или других архитектур ищутся там же. Какой пакет следует распространять с вашей программой - просто необходимо оставить на домашнее задание. Потому как программист не справившийся с этим не достоин распространять свои программы  Улыбаюсь
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines