Не удалось загрузить магическую базу данныхC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Не удалось загрузить магическую базу данных

Сообщение Anonymous »

Я совершенно новичок в CPP и его библиотеках. Моя цель - найти тип файла MIME, чтобы я использовал Magic Library для него в CPP. И я хочу сделать исполняемый файл, который будет портативным, т.е. он должен работать на любой машине, независимо от того, присутствует или нет либмагического присутствия на этой машине. Исполняемый файл работает должным образом на моей машине Ubuntu, но когда я передал его в другую виртуальную машину (Ubuntu) (где магия не установлена), и я пытался запустить исполняемый файл, моя магическая база данных не загружается, и я получаю следующие ошибки: < /p>
Предупреждение - не удалось загрузить магическую базу. Не удается определить тип MIME для файла: < /p>
Вот функция, чтобы найти тип MIME файла < /p>

Код: Выделить всё

std::string mime_type(const std::string& filename) {
magic_t cookie = magic_open(MAGIC_MIME_TYPE);

if (cookie == nullptr) {
logger.log(WARNING, "Failed to open libmagic. Cannot determine MIME type for file: '" + filename + "'");
return "unknown";
}

if (magic_load(cookie, NULL) != 0) {
logger.log(WARNING, "Failed to load magic database. Cannot determine MIME type for file: '" + filename + "'");
magic_close(cookie);
return "unknown";
}

std::string mimetype = magic_file(cookie, filename.c_str());
// Close libmagic handle before returning
magic_close(cookie);

if (mimetype.empty()) {
// logger.log(WARNING, "Failed to determine MIME type for file: '" + filename + "'");
return "unknown";
}
// std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78424226/failed-to-load-magic-database[/url]
Ответить

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

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

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

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

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