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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Зависимость от библиотек билдера  (Прочитано 13213 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Vlad_Val
Гость
« : 19-11-2006 20:09 » 

Недавно переставил систему и пробовал запустить свои програмки без установленного С++ билдера. Так они не запустились. Потребовали каких-то недостающих файлов. Как только билдер был установлен все стало работать.
« Последнее редактирование: 26-01-2010 04:56 от Вад » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 19-11-2006 21:32 » 

Vlad_Val, Неоднократно вопрос уже поднимался на форуме. Поиск поможет тебе. Нужно выставить правильно галочки в property и перекомпилировать проект заново.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Vlad_Val
Гость
« Ответ #2 : 29-11-2006 18:06 » 

Нашел, хотя не сразу:
В Project->Options: Compiler->кнопка Release
убрать галки в:
Packages->Build with runtime...
Linker->Use dynamic RTL

А сейчас у меня вот такая проблема:
Не хочет компилироваться, если сохраняю проект не в ту папку, которая предлагается по умолчанию билдером. А при компиляции пишет: [Linker Fatal Error] Fatal: Expected a file name, А если сохранить в папке по умолчанию, то все нормально.
Может кто-то сталкивался?
Записан
Dr.CODE
Участник

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

« Ответ #3 : 25-01-2010 20:22 » 

Ребят, в Builder'e 2010 такой метод:
Цитата
В Project->Options: Compiler->кнопка Release
убрать галки в:
Packages->Build with runtime...
Linker->Use dynamic RTL
не помогает! Кто может подсказать обновлённый??

PS: Если использовать этот метод, то после компиляции программа начинает всё равно требовать сначала файл - borlndmm.dll, а потом cc32100mt.dll .. дальше не пробовал, возможно ещё какие-то файлики бы запросил!
« Последнее редактирование: 25-01-2010 20:25 от Dr.CODE » Записан

Краткость - сестра таланта, некраткость - сам талант!
Dr.CODE
Участник

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

« Ответ #4 : 25-01-2010 21:09 » 

Update:
Итак, все те, кто работает в C++ Builder'e 2010 кроме:
Цитата
В Project->Options: Compiler->кнопка Release
убрать галки в:
Packages->Build with runtime...
Linker->Use dynamic RTL
после компиляции приложения, требуется добавить к вашему созданному *.exe файлу две дополнительные библиотеки - borlndmm.dll(...\Embarcadero\RAD Studio\7.0\bin) и cc32100mt.dll(WINDOWS\system32)!!

PS: Как этого избежать, я пока не имею понятия! Если кто-то найдёт какую-нибудь инфу по этому вопросу, большая просьба поделиться!
« Последнее редактирование: 25-01-2010 21:13 от Dr.CODE » Записан

Краткость - сестра таланта, некраткость - сам талант!
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #5 : 26-01-2010 04:02 » 

2 способа (выбор зависит от проекта и целей)
1. Создавать архив со всеми необходимыми либками, можно руками можно сделать инсталятор (утилита в комплекте с билдером)
2. линковать библиотеки не динамически, а статически (поправьте, если в терминах наврал)

оба способа подходят, для кучи сред разработки и программно-аппаратных платформ
Записан

Странно всё это....
RXL
Технический
Администратор

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

WWW
« Ответ #6 : 27-01-2010 13:03 » 

Dr.CODE, пересобери проект полностью.
Записан

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

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Dr.CODE
Участник

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

« Ответ #7 : 29-01-2010 13:41 » 

Dr.CODE, пересобери проект полностью.
RXL, пересобрать с этими библиотеками в каталоге? Или просто пересобрать?
Записан

Краткость - сестра таланта, некраткость - сам талант!
Dr.CODE
Участник

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

« Ответ #8 : 29-01-2010 14:00 » 

линковать библиотеки не динамически, а статически (поправьте, если в терминах наврал)
LogRus, можно узнать, чем динамическая линковка отличается от статической? Буквально в нескольких словах. Я просто читал несколько статей и так и ничего конкретного невычитал. Видимо каких-то кусочков знаний нехватает!
Записан

Краткость - сестра таланта, некраткость - сам талант!
Dr.CODE
Участник

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

« Ответ #9 : 31-01-2010 18:32 » 

RXL, пересобирал по многу раз! Не помогает! Только при добавлении этих двух библиотек откомпилированное приложение начинает открываться!
Записан

Краткость - сестра таланта, некраткость - сам талант!
lapulya
Молодой специалист

ru
Offline Offline

« Ответ #10 : 31-01-2010 21:10 » 

LogRus, предложил 2 гарантированно работающих варианта, выбирай.

В 2 словах - при статической линковке библиотеки всЁ (что линковалось статически) будет в exe (ну ясное дело если exe собиралось)
Записан

С уважением Lapulya
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #11 : 01-02-2010 01:06 » 

В общем lapulya всё уже сказал. Когда ты собираешь static код, то получашь один большой EXE файл в котором есть всё, что ему нужно.

это не относится к статик lib - static lib это просто набор объектных файлов.
Записан

Странно всё это....
Dr.CODE
Участник

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

« Ответ #12 : 01-02-2010 08:49 » 

Цитата
LogRus, предложил 2 гарантированно работающих варианта, выбирай.

при статической линковке библиотеки всЁ (что линковалось статически) будет в exe (ну ясное дело если exe собиралось)
lapulya, тогда, естественно, я выбираю статическую линковку.

LogRus, по идее файл при компиляции собирается большой. Если используя стандартную настройку скомпилировать exe-файл, то весить он будет около 45-55 кб, иначе, при статической линковке - при настройках:
Цитата
В Project->Options: Compiler->кнопка Release
убрать галки в:
Packages->Build with runtime...
Linker->Use dynamic RTL
, компилируется в exe-файл объёмом в 850-900 кб. Оно и правильно. Я думал что этого достаточно. Может где-то ещё настроить нужно? В C++ Builder 2009  я не испытывал скомпилированный exe-файл объёмом в 850-900 кб на других компах, где билдера не было. Тестировать начал в 2010 версии. И сразу столкнулся с такой штукой.

Вы так пишите, и у меня возникает мнение, что статическая и динамическая линковка отдельно настраивается для каждого отдельного проекта. Так-ли это или я ошибаюсь? Т.е. я имею ввиду, что где-то в настройках проекта нужно указать тип линковки или что-то подобное?
Записан

Краткость - сестра таланта, некраткость - сам талант!
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #13 : 02-02-2010 05:04 » 

Да настраивается для каждого проекта отдельно, но это не только тип линковки, но и тип генерации кода
в MSVS2003 это пункт C++ -> Code Generation -> Runtime Library
Записан

Странно всё это....
RXL
Технический
Администратор

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

WWW
« Ответ #14 : 02-02-2010 08:40 » 

Dr.CODE, у тебя часом не стоят какие-нибудь самосборные компоненты? Попробуй переустановить их, указав им не использовать dynamic RTL.
Записан

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

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Dr.CODE
Участник

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

« Ответ #15 : 02-02-2010 15:59 » 

RXL, смотри, а может быть такое, что моя версия(сборка) C++ Builder'а собрана пользователями и использует сторонние компоненты - как Вы и сказали? Дело в том, что инсталляцию я скачал с торрента, может в этом и дело? Сейчас я думаю что это более правдоподобный вариант. Если это всё таки так, то Вы правы, потому что я сам никаких сторонних компонентов не устанавливал.
« Последнее редактирование: 02-02-2010 16:01 от Dr.CODE » Записан

Краткость - сестра таланта, некраткость - сам талант!
RXL
Технический
Администратор

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

WWW
« Ответ #16 : 03-02-2010 14:53 » 

Dr.CODE, лучше самому ставить из дистрибутива - кто знает, чего там накрутили деятели искусств...
Еще рекомендую стараться по максимуму не использовать сторонние компоненты (не входящие в штатную поставку BCB) - меньше проблем будет с переносами на другую версию среды.
Записан

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

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines