Необходимо использовать инструменты Qt для связи с библиотекой, которая была реализована с помощью Qt.
Абсолютно нет.
в Qt инструментов, которые генерируют код являются moc
и rcc
; если ваш API не использует это, то вполне возможно использовать обычные инструменты «C».
moc - инструмент для сигналов и слотов, и даже код C++ не должен использовать инструменты Qt для связи с библиотекой Qt. Вы можете сканировать «заголовок» для макроса MOC с помощью grep и т. Д. В правиле make, чтобы узнать, должна ли запускаться программа moc
в исполняемом файле. По соглашению, что class.cc имеет объявление в class.h делает это легко.
rcc - это функция, которая связывает ресурсы с приложением. Однако это будет для приложения Qt application/library, и в вашем случае вы просто хотите связать его.
Таким образом, можно даже сделать Qt приложений/библиотек без qmake
и т.д. Тем не менее, ваш Makefile нужно будет выполнить все портативность вопросы, которые qmake
и т.д. сделать или вы можете не заботиться об этом.
Есть компромиссы, чтобы не использовать инструменты Qt. Однако большинство инструментов Qt можно использовать без инструментов.
я думаю нет. Почему бы вам не попробовать Qt toolchain? Вы можете проверить зависимости. Посмотрите http://stackoverflow.com/questions/6242761/how-do-i-find-the-direct-shared-object-dependencies-of-a-linux-elf-binary. – user2672165
До тех пор, пока у вас есть все зависимости (например, Qt-DLL), он должен работать – Felix