2015-11-21 8 views
0

Нужно использовать Qt toolchain (pro files, qmake и т. Д.), Чтобы связать с библиотекой, которая была реализована и построена с помощью Qt, но сама предоставляет только API стиля C. Ни один из классов Qt не используется в библиотеке.Нужен ли мне Qt toolchain для создания библиотеки, построенной с помощью Qt?

Вопрос касается как статических, так и динамических библиотек.

+1

я думаю нет. Почему бы вам не попробовать Qt toolchain? Вы можете проверить зависимости. Посмотрите http://stackoverflow.com/questions/6242761/how-do-i-find-the-direct-shared-object-dependencies-of-a-linux-elf-binary. – user2672165

+0

До тех пор, пока у вас есть все зависимости (например, Qt-DLL), он должен работать – Felix

ответ

0

Необходимо использовать инструменты 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 можно использовать без инструментов.

 Смежные вопросы

  • Нет связанных вопросов^_^