Я относительно новичок в использовании библиотек в файлах Qt pro. Я скачал NCReport и попытался скомпилировать разделяемые библиотеки и заголовки в мою программу Qt на ОС Ma c.
Фон
Я загрузил все dylib-файлы и заголовки, которые я мог найти в своем Qt pro-файле - пример pro-кода выглядит следующим образом:
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/./release/ -lqgenericbearer
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/./debug/ -lqgenericbearer
else:unix: LIBS += -L$$PWD/./ -lqgenericbearer
else:macx: LIBS += -L$$PWD/./ -lqgenericbearer
INCLUDEPATH += $$PWD/./
DEPENDPATH += $$PWD/./
Примечание. Я использовал относительную ссылку в папке с моей программой, потому что когда я оставлял библиотеки в оригинале папка, это дало мне несовместимую ошибку библиотеки.
Копирование файлов dylib в папку моей программы, казалось, разрешало и компилировало библиотеки в той же версии Qt - не знаю, относится ли это к моей проблеме.
Проблема
Я использовал следующую строку кода и включил соответствующие файлы заголовков в мой cpp файл:
NCReport *report = new NCReport();
При попытке чтобы выполнить приведенный выше код, я получаю следующую ошибку:
Undefined symbols for architecture x86_64:
"NCReport::NCReport(QObject*)", referenced from:
test::test() in test.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: *** [Accounting.app/Contents/MacOS/Accounting] Error 1
23:22:25: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project Accounting (kit: Desktop Kit)
When executing step "Make"
Кажется, это указывает на то, что реализация неверна и что я не включил библиотеки правильно.
Я также пытался включать заголовки по отдельности, и это, кажется, немного меняет коды ошибок - однако, он просто говорит неопределенные символы для чего-то еще, что, как я полагаю, было вызвано как часть пользовательской функции / класса. Когда я включаю все заголовки в мою программу, это не работает, потому что есть некоторые ссылки на определенные структуры папок в файлах заголовка, а также на файлы "_ui.h", которые создают ошибку, поскольку у меня нет файлов .ui, которые соответствует этому определению.
Кто-то может помочь? Я также обратился к разработчику, чтобы узнать, есть ли какие-либо библиотеки, которые я пропустил, в том числе, но есть ли где-то ошибка в моем коде?
Заранее спасибо!