Я обнаружил, что файлы проекта, сгенерированные NetBeans для C ++, довольно неудобны и не очень удобны для сопровождения людьми.И хотя они имеют тенденцию ссылаться на пути относительно корня проекта (облегчая копирование проекта в разные каталоги), слишком много файлов проекта нужно поддерживать.И вы уверены, что они не работают.
Я не знаю, позволяет ли NetBeans указывать переменные среды для путей в диалоговых окнах настроек проекта.Насколько я могу судить, материал макросов / переменных в значительной степени недокументирован.Но если вы знаете, как это сделать, то определите все зависимости пути к файлу с помощью переменной среды вместо жестко заданного пути в окне настроек проекта.Удаленным разработчикам нужно только переопределить переменные среды на своем компьютере.
Но я думаю, что лучшее решение - не использовать автоматически сгенерированный MakeBile NetBeans из настроек проекта.Вместо этого объявите свой собственный Makefile и создайте тип проекта NetBeans из «существующего Makefile».Я обнаружил, что это работает очень хорошо.
Тогда у вас может быть строка в верхней части вашего Makefile:
include common.inc
Где «common.inc» включает все жестко закодированные пути к библиотекам, которые зависят от машины.Вот мой пример:
BOOST_INCLUDE := -I/home/jselbie/lib/boost_1_46_1
OPENSSL_INCLUDE := -I/home/jselbie/lib/openssl
И тогда мой Makefile ссылается только на эти каталоги по имени переменной.И поэтому, когда я перемещаю проект по разным машинам с разными конфигами, мне просто нужно обновить common.inc.
А потом, если кто-то еще хочет использовать NetBeans для компиляции моего проекта, ему просто нужно создать NetBeansпроект из опции "существующий Makefile".