Откройте файл.app
Я работаю над проектом Qt, который отображает гласные на диаграмму в формате *.sym.
Моя цель состоит в том, чтобы загрузить начальную диаграмму IPA как это.
у меня есть *.sym
файлы, и я могу загрузить их после запуска моего приложения, но я не совсем уверен, где исполняется мой исполняемый файл.
У меня есть формат каталога (после сборки), как это
Project
|_ Source
|_ Build
|_ Source
|_ Charts
|_ load_at_start.sym
|_ Project.app
|_ Contents
|_ MacOS
|_ Project (executable)
Это делает использование вызова fopen довольно сложным. Я предполагал, что fopen будет рассматривать текущий рабочий каталог как место, где находится исполняемый файл, поэтому я попробовал что-то вроде этого...
FILE *stream = fopen("./../../../charts/load_at_start.sym", "r");
но это не работает Может кто-нибудь мне помочь?
1 ответ
Вы должны убедиться, что файл.sym окажется в пакете приложения (каталог.app), в частности в разделе Contents/Resources.
Затем вы можете использовать QCoreApplication::applicationDirPath для получения каталога вашего приложения (например, "/Applications/Project.app/Contents/MacOS/") и добавить относительный путь к вашему файлу (например, "../Resources/charts/load_at_start.sym").
Что-то вроде этого:
QDir dir(QCoreApplication::applicationDirPath());
dir.cd("../Resources/charts");
FILE* stream = fopen(dir.filePath("load_at_start.sym").toUtf8().constData());
Хотя вы можете рассмотреть возможность использования средств ввода / вывода Qt вместо C.