Работа с существующим кодом C ++, протестированным в Google Test, и добавлением Qt - PullRequest
1 голос
/ 13 апреля 2011

Я работаю над программой, написанной на C ++, используя некоторые функции c ++ 0x в Linux (Ubuntu). Я написал кучу тестов в Google Test. Я использую g ++ и обычные make-файлы, которые генерируют зависимости.

Теперь я хочу работать над совершенно отдельным интерфейсом.

Я решил, что Qt будет хорошим, но обнаружил, что его довольно сложно собрать. Я вижу, что проще всего использовать qmake.

Мне было интересно, как я могу встроить Qt в свое приложение, сохраняя все базовые классы независимыми от Qt. Я понимаю, как это сделать, написав хороший код, но мне нужна хорошая система сборки .

Я не хочу переходить на использование среды модульного тестирования Qt, потому что я хочу использовать только Qt для пользовательского интерфейса и не вижу смысла переписывать свои тесты.

Должен ли я использовать qmake и изменить его для создания моего бегуна-испытателя Google, а также приложения Qt? Должен ли я сохранить свой make-файл и использовать qmake для сборки и компоновки только тех частей кода пользовательского интерфейса, которые будут зависеть от файлов .o, созданных в исходном make-файле? Должен ли я сделать что-то еще?

Наконец, как бы я мог использовать любой из этих выше вариантов?

1 Ответ

0 голосов
/ 13 апреля 2011

CMake, похоже, хорошо работает с Qt (основываясь на моем опыте с моим текущим проектом).Существует хороший набор макросов для выполнения всех стандартных задач Qt, плюс он достаточно хорошо интегрируется с другими инструментами.Ваш первоначальный проект может немного сбить с толку настройку, но я уверен, что в сети доступно множество примеров Qt.

Вам не нужно переключать среду тестирования для использования CMake.Я использую фреймворк для буст-тестов, но для CMake любая программа, использующая коды возврата, будет работать нормально.

Нет смысла даже частично использовать qmake, если вы используете cmake.

Cmake также кросс-платформенный, если это вызывает беспокойство.


Кстати, естьТакже нет причин, по которым вы должны прекратить использовать make-файлы.Qmake в Qt просто вызывает набор инструментов командной строки, которые вы также можете использовать в make.

...