Undefined symbols:
"_LSCopyApplicationForMIMEType", referenced from:
sbw::TDefTxtFileViewer::findViewer() in sbw_txt_file_show.o
"___CFConstantStringClassReference", referenced from:
cfstring=text/plain in sbw_txt_file_show.o
"_CFStringGetCString", referenced from:
sbw::TDefTxtFileViewer::findViewer() in sbw_txt_file_show.o
"_CFURLCopyFileSystemPath", referenced from:
sbw::TDefTxtFileViewer::findViewer() in sbw_txt_file_show.o
==============================================
Все методы в данном кусоке кода:
C++ (Qt)
#include <CoreServices/CoreServices.h>
#include <ApplicationServices/ApplicationServices.h>
//....
//....
bool TDefTxtFileViewer::findViewer(void) {
CFURLRef outAppURL;
CFStringRef inMIMEType = CFSTR("text/plain");
LSRolesMask inRoleMask = kLSRolesEditor;
OSStatus errors = LSCopyApplicationForMIMEType(inMIMEType, inRoleMask, &outAppURL);
if (errors)
{
inRoleMask = kLSRolesAll;
errors = LSCopyApplicationForMIMEType(inMIMEType, inRoleMask, &outAppURL);
}
if (!errors)
{
char buffer[4096];
CFStringRef s = CFURLCopyFileSystemPath(outAppURL, kCFURLPOSIXPathStyle);
CFStringGetCString(s, buffer, 4096, 0);
Viewer = QString(buffer);
}
return !Viewer.isEmpty();
}
С QT 4.5.2 такая проблема отсутствовала, все линковалось.
После смены версии QT, не линкуйтся данные методы.
Погуглил, ничего не нашел.
Возможно необходимо явное подключение либы в проекте. Какой, хбз?