Получение U_FILE_ACCESS_ERROR, когда я вызываю UCNV_OPEN () для IBM-1252_P100-2000C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Получение U_FILE_ACCESS_ERROR, когда я вызываю UCNV_OPEN () для IBM-1252_P100-2000

Сообщение Anonymous »

Я сталкиваюсь с проблемой на Linux, когда я запускаю свое приложение, которое использует ICU. Я получаю U_FILE_ACCESS_ERROR Когда я вызываю ucnv_open () для IBM-1252_P100-2000 .
Я пытаюсь запустить свое приложение извне. установить каталог. Установка Directory имеет приложение EXE и все LIBS и файлы, связанные с отделением интенсивной терапии. Поэтому, когда я запускаю приложение извне установленного DIR, я получаю ошибку преобразователя . Он не может запустить unv_open () с IBM-1252_P100-2000 в качестве имени преобразователя. Если я создаю фиктивный каталог (скажем, утверждение) и имею только 1 файл в этом DIR - icudtxxl.dat, и я пытаюсь запустить свое приложение, он работает правильно. По сути, incudtxxl.dat должен присутствовать в любом каталоге, из которого я запускаю свое приложение. В основном он проверяет только icudtxxl.dat в текущем каталоге. Настройка переменной среды ICU_DATA во время выполнения не помогла.UErrorCode Status = U_ZERO_ERROR;
ICUcnv = ucnv_open("ibm-1252_P100-2000", &Status);

if(ICUcnv == NULL)
{
string strErr("Converter not found - ");
strErr += "ibm-1252_P100-2000";
throw std::runtime_error( "error opening ICU converter" );
}
< /code>
То же самое работает нормально в Windows. Я могу запустить свое приложение из любого места в Windows.

Подробнее здесь: https://stackoverflow.com/questions/745 ... -p100-2000
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»