При компиляции без динамического RTL я получаю EAccessViolation - PullRequest
1 голос
/ 08 декабря 2011

В Borland C ++ Builder 6, когда я пытаюсь создать автономное приложение, сняв флажок «использовать динамический RTL», я получаю EAccessViolation.MWE:

#include <vcl.h>
pragma hdrstop
#include "fstream.h"
#include "Unit1.h"
pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
ifstream pies;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{}

, в котором у меня просто пустой проект с добавленным

ifstream pies;

.

Разбивается в _STLP_IOS_C: в

template <class _CharT, class _Traits>
basic_ios<_CharT, _Traits>::basic_ios()
  : ios_base(),
    _M_fill(_STLP_NULL_CHAR_INIT(_CharT)), _M_streambuf(0), _M_tied_ostream(0)
{}

указывая на

      : ios_base(),

Как мне обойти это?Мне нужно приложение, которое я мог бы переместить куда-нибудь еще, но мне также нужно приложение fstream.

1 Ответ

2 голосов
/ 08 декабря 2011

Чтобы создать автономное приложение, вы должны отключить опции «Использовать динамический RTL» и «Построить с помощью пакетов времени выполнения».

...