Qt имя файла для связанного ресурса - PullRequest
0 голосов
/ 04 мая 2020

Я собрал пакет в Qt, который использует внешнюю библиотеку gdal для запроса растрового файла. Я хочу связать растр с моим приложением и надеялся сделать это в файле ресурсов qr c.

Проблема в том, что gdal хочет имя файла: -

const char *pzFileName = nullptr;
GDALAllRegister();
.
.
pzFileName = "/opt/mapping-data/SRTM/my_dem.tif";
testDataSet =  (GDALDataset *) GDALOpen(pzFileName,GA_ReadOnly);

Есть ли Как я могу связать этот файл с моим приложением Qt так, чтобы имя файла было известно на каждой платформе? Поскольку gdal не будет знать URL типа "qrc / ...".

1 Ответ

1 голос
/ 05 мая 2020

Я бы скопировал ресурс во временный файл каждый раз при запуске вашего приложения. GDAL, похоже, сильно зависит от файлов и имен файлов. Вы можете использовать что-то вроде этого:

QFile f(":/resources/file.txt");
QTemporaryFile::createNativeFile(f); // Returns a pointer to a temporary file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...