Неопределенные символы для архитектуры x86_64: & quot; _CFBundleCopyResourceURL & quot ;,

Попытка получить доступ к пути файла к папке ресурсов в пакете Mac .app с помощью Qt. Вот мой код:

CFURLRef appUrlRef;appUrlRef = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("AFE-MP-512"),NULL,NULL);
CFStringRef filePathRef = CFURLCopyPath(appUrlRef);qDebug() << filePathRef;

// Release references
CFRelease(filePathRef);
CFRelease(appUrlRef);

Единственное, что у меня есть, — это кнопка в форме для запуска кода. Получение следующей ошибки при попытке компиляции:

Undefined symbols for architecture x86_64:
"_CFBundleCopyResourceURL", referenced from:
MainWindow::on_pushButton_clicked() in mainwindow.o
"_CFBundleGetMainBundle", referenced from:
MainWindow::on_pushButton_clicked() in mainwindow.o
"_CFRelease", referenced from:
MainWindow::on_pushButton_clicked() in mainwindow.o
"_CFURLCopyPath", referenced from:
MainWindow::on_pushButton_clicked() in mainwindow.o
"___CFConstantStringClassReference", referenced from:
CFString in mainwindow.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ProgramLaunch.app/Contents/MacOS/ProgramLaunch] Error 1
13:18:21: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project ProgramLaunch (kit: Desktop Qt 5.3 clang 64bit)
When executing step "Make"

У меня есть следующие включения в mainwaindow.h

#include <QtCore>
#include <CoreFoundation/CFURL.h>
#include <CoreFoundation/CFBundle.h>

Есть идеи, что может пойти не так? Спасибо

0

Решение

Вам необходимо связаться с платформой CoreFoundation. Вы можете добавить следующее в ваш проект qmake:

LIBS += "-framework CoreFoundation"
5

Другие решения