Запуск приложения на C++ Builder без среды программирования

Категория:

Для создания приложения, которое будет работать на других компьютерах без установленной среды программирования C++ Builder, нужно сделать некоторые настройки проекта. Если этого не сделать, то при попытке запуска приложения будет ошибка выполнения: 

Не удается продолжить выполнение кода, поскольку система не обнаружила rtl240.bpl. Для устранения этой проблемы попробуйте переустановить эту программу.

В сообщении об ошибке, при попытке запуска программы, наименование данной библиотеки может отличаться в зависимости от версии среды программирования, в которой компилировалось приложение. К примеру, для C++ Builder 2010 данная библиотека будет называться rtl140.bpl, а для версии C++ Builder XE10 - rtl240.bpl. Это происходит по тому, что по умолчанию параметр Link with runtime packages установлен в значение true, что привязывает приложение к библиотекам среды программирования. Чтобы это исправить, нужно выставить его в значение false. Также рекомендуется настроить и параметр Dynamic RTL, выставив его также в значение false, чтобы исключить зависимость от некоторых динамических библиотек в формате dll.

Настройка компиляции приложения

Для открытия настроек проекта необходимо зайти в меню "Project->Options...". Также настройки можно вызвать, нажав сочетание клавиш Shift+Ctrl+F11. В разных версиях сред программирования C++ Builder расположение настроек, позволяющих отвязать компилируемое приложение от среды программирования, отличается.

Настройка для C++ Builder 2010

В открывшемся окне настроек нужно зайти на вкладку Packages и в самом низу окна в разделе Runtime packages сбросить галочку с параметра Build with runtime packages.

Далее делаем отвязку от dll путем выставления в настройках параметра Dynamic RTL в false. Это опционально, если в планах нет желания переносить приложение вместе с требуемыми dll (которые еще необходимо будет узнать какие именно потребуются для приложения).

В открытых настройках нужно перейти во вкладку C++ Linker и в таблице настроек найти Dynamic RTL и со значения true поменять его на false.

Если этого не сделать, то на компьютерах, где не будет библиотеки CC32100MT.DLL, появится следующая ошибка при попытке запустить приложение:

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

Также можно и другим способом исправить эту ошибку при отсутствии доступа к среде программирования. Для этого нужно найти и скопировать библиотеку cc32100mt.dll в папку с программой или же в системную папку операционной системы.

Настройка для C++ Builder XE10.1 Berlin

В открывшемся окне настроек переходим на вкладку Packages -> Runtime Packages. Там находим параметр Link with runtime packages и выставляем в значение false. Данную настройку можно сделать индивидуально для каждой конфигурации. Для этого нужно в выпадающем списке Target выбрать необходимую конфигурацию. Там доступно отдельно для Debug и Release 32 и 64 битных конфигураций, а также для всех стразу. Лучше всего данную настройку по отвязки приложения сделать для конфигурации Release Configuration - All platforms, как показано на изображении ниже.

После выставления значения параметра нажимаем кнопку "ОК".

Также при необходимости меняем параметр Link with Dynamic RTL, чтобы включить код dll в саму программу. Стоит учесть, что в данный параметр будут дописываться дополнительные значения в зависимости от выбранного параметра target (64-bit Windows, 32-bit Windows и так далее для разных платформ).

Чтобы настроить параметр Link with Dynamic RTL заходим в настройках во вкладку C++ Linker, находим там этот параметр и выставляем его значение в положение false, показанный на рисунке ниже.

Заключение

В данной статье рассмотрена настройка отвязки приложения от среды программирования для версий C++ Builder 2010 и C++ Builder XE10.1 Berlin. Для других версий сред программирования C++ Builder расположение и названия этих параметров могут немного отличаться, которые необходимо поискать в окне настроек проекта. 

Возможно заинтересует: 

Не удается открыть системную базу данных ядра Microsoft JET

Категория:

Данная проблема возникает при запуске программ, которые в качестве драйвера доступа используют устаревший драйвер Microsoft JET 4.0.

БД клиентов в C++ Builder XE7

Код продукта: 
268

Готовый проект на тему: база данных клиентов в C++ Builder XE7. В качестве СУБД в данном проекте используется Access, являющийся реляционной базой данных.

Информационная система финансиста в C++ Builder

Код продукта: 
489

Готовый исходный код рабочего места финансиста написанный в C++ Builder с реляционной СУБД MySQL. Проект предназначен для выполнения учебной работы по программированию приложения для работы с базой данных.