NeviDimka
19:03:2007, 17:28
Не получается никак сделать самодостаточный билд в CBuilder6
Делаю пресет - RELEASE, и убираю в линкере RTL - билдит, но при запуске ехешника винда выбрасывает ошибку

( Заранее благодарен за мудрый совет
А на вкладке "Packages" выключить "Build with runtime packages", если вы имели ввиду что убрали на вкладке "linker" - "Use dynamic RTL".
NeviDimka
20:03:2007, 18:31
Это уже выключено было..
European
21:03:2007, 07:58
Еще флажок, связанный с RTTI надо снять, уж извините, но не помню как он правильно называется
NeviDimka
21:03:2007, 17:08
Во вкладке C++ снял влажок с Enable RTTI - НЕ КА НА ЕТ!
Неужели никто на этом форуме не умеет правильно билдить в билдере, или это у меня что-то не так настроено??? (хотя все по умолчанию)
European
22:03:2007, 08:33
Какая ошибка?
NeviDimka
22:03:2007, 11:33
Вот такая (см. файл) вылезает при RUNе из самого билдера, если сначала собрать, а потом запустить ЕХЕшник, то просто стандартное микрософтское сообщение об ошибке и зарытии.
European
22:03:2007, 11:43
Так каким местом здесь Билдер виноват? Ты пытаешься читать по невалидному адресу... Разбирайся со своим кодом
NeviDimka
22:03:2007, 18:13
ДА НУ! Код отлажен на 10 раз, и прекрасно все работает с ран-тайм библами!
Если только отключение RTL влияет на мой код - то тут уже не знаю что и думать
European
23:03:2007, 08:03
Ну тогда сделай пустой проект с такими же настройками и попробуй запустить его
European
23:03:2007, 08:37
Цитата(NeviDimka @ 22:03:2007, 13:33 )
Вот такая (см. файл) вылезает при RUNе из самого билдера
Все-таки воспользуйся отладкой, явно проблема с кодом
Цитата(European @ 23:03:2007, 10:37 )

Все-таки воспользуйся отладкой, явно проблема с кодом
+1
Могу сказать так:
Воспользуйся CodeGuard(в меню Tools) - он покажет в каком именно участке кода у тебя ошибка.
NeviDimka
25:03:2007, 07:22
Действительно - пустой проект прекрасно компилится без RTL

, а мой только вместе. Но ПОЧЕМУ и КАК отключение RTL может повлиять на работу моего кода?!?!

Каким, простите, местом!?
2brik: CODEGUARD'ом я никогда не пользовался, можешь в двух словах наставить на путь истинный? (без посылания на RTFM)
Цитата(NeviDimka @ 25:03:2007, 10:22 )

Действительно - пустой проект прекрасно компилится без RTL

, а мой только вместе. Но ПОЧЕМУ и КАК отключение RTL может повлиять на работу моего кода?!?!

Каким, простите, местом!?
2brik: CODEGUARD'ом я никогда не пользовался, можешь в двух словах наставить на путь истинный? (без посылания на RTFM)

Для начала - всё просто: в опциях проекта установи флажок CodeGuard Validation на вкладке CodeGuard. При запуске проекта он встраивается в твою программу, и при обнаружении ошибки, выдает сообщение и выводит лог в cgl-файл(по моему) в папку с программой.
Многие параметры могут быть изменены через меню Tools, пункт CodeGuard Configuration.
P.S. Чтобы с большей еффективностю работать с CodeGuard воспользуйся книгой. Почти в любой книге по Builder-у, где описана отладка приложения, расматривается этот инструмент.
NeviDimka
9:04:2007, 16:19
То, что выдал Guard - мне никак не помогло - какие-то адреса, что к чему не ясно.
Но все-таки нашел ошибку!!!!, Билдер не взлюбил такое объявление: ofstream file;, причем fstream.h был подключен. Когда я переделал: ofstream *file; - все стало замечательно компилиться!!!! без RTL!
Однако в MSVC++ все работает и с первым вариантом. Почему Билдер на это ругался?? кто-нибудь может объяснить? хотябы предположить?
есть проект в buildere 6.0 в котором помимо основнгого файла есть еще подключаемый .срр файл (с классом), как сделать релиз? какие настройки в проекте надо сделать, выскакивает ошибка отсутствия файла .bpl
или ссылочку дайте плиз, ничего не нашел что-то
European
29:04:2007, 07:34
Цитата(Al.x @ 28:04:2007, 16:28 )
выскакивает ошибка отсутствия файла .bpl
*.bpl - это файлы пакетов. Если выскакивает такая ошибка, то, скорее всего, неправильно были установлены какие-то компоненты. Если ты к основному файлу директивой include подключаешь дополнительный, то никаких особых настроек делать не надо
Может я не совсем четко сформулировал вопрос... делаю релиз на 6-ом билдере, выставляю все настройки как сказано в этом топике, получаю екзешник, который пытаюсь запустить на другом компьютере (без билдера, обычный юзерский комп с ХР СП2), а он мне выдает...
"не удалось запуститься, поскольку компонент rtl60.bpl не был найден, повторная установка" и т. д.
разве у обычного юзера должны стоять какие-то компоненты?
подключаю #include, при чем, на моем компе откомпилированный ехешник запускается без проблем естественно.
European
2:05:2007, 10:15
Цитата(brink @ 20:03:2007, 17:27 )
А на вкладке "Packages" выключить "Build with runtime packages"
Вот это выполнил?
Цитата(brink @ 20:03:2007, 17:27 )
убрали на вкладке "linker" - "Use dynamic RTL".
И вот это?
European:
Огромное спасибо!
Цитата
А на вкладке "Packages" выключить "Build with runtime packages"
Всему виной моя невнимательность

Извините, что отнял время понапрасну.
Блин, у меня была та же проблема, почитал эту тему, поставил * там где надо, но ошибку всё-равно выдаёт, только в другом месте, когда при работе с программой делается код: f.open("data.txt"); или f->open("data.txt"); причем файл существует, всё ок, но еррор почему-то! люди, хелп!
European
30:06:2008, 11:50
VONZ, Ваша проблема к теме не имеет никакого отношения. Создавайте новую темк
NeviDimka
7:07:2008, 09:50
VONZ
если ты объявляешь перевенную-указатель. т.е. со звездочкой, наример, как у меня: ofstream *file; то обращаться к методам класса нужно через "->", а если - как простую переменную, то - через "точку".
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.