Итак, я планирую написать библиотеку C ++ и хочу, чтобы она была кроссплатформенной, и поскольку эта библиотека не будет работать с пользовательским интерфейсом, и я хочу, чтобы она имела как можно меньше зависимостей, я не буду использовать Qt (на самом деле Qt не поможет мне достичь того, чего я хочу, все, что я планирую использовать, это STL и Boost). Теперь, когда речь идет о создании кроссплатформенного проекта, мне очень нравится QMake, поскольку он чрезвычайно прост в использовании и у меня есть опыт работы с ним. Я также слышал хорошие новости о CMake, хотя я действительно сомневаюсь, что его так же легко использовать, как и QMake.
В любом случае, вот мой вопрос: должен ли я использовать инструмент автоматизации сборки, который я знаю, или QMake просто вне контекста для не-Qt проекта? Должен ли я использовать это как возможность выучить CMake? Или есть лучшая альтернатива этим двум?
Ответы:
Этот выбор полностью зависит от вас.
Но я укажу , что очень много проектов на основе Qt отошли от QMake и переключились на CMake по разным причинам. Я также укажу, что нет технической причины, по которой вы не можете использовать QMake, если предпочитаете.
Лично я использую CMake, потому что он довольно хорошо играет ту роль, которую когда-то предпочитали autotools, делая это с помощью набора инструментов и синтаксиса, который намного проще для понимания и работы. Но я вижу привлекательность использования QMake - синтаксиса гораздо проще и, возможно, легче понять и использовать, чем CMake.
источник
Раньше я работал в компании ( Interactive Network Technologies ), которая создавала SDK для использования в системах Contouring, Seismic, Welllog и GIS. Продукт C ++ был поддержан для множества разновидностей Unix и Windows (назад, когда вам приходилось определять NT по сравнению с другими разновидностями)
Когда вышел QT, у него уже был QMake; Я был знаком с маркой и муравьем в то время. После трех дней работы с QMake я выбросил его и просто использовал make.
Хотя make может быть очень сложным, я бы предложил использовать его или Ant против QMake.
источник