2015-03-22 3 views
0

У меня есть довольно большой проект на C++ в Netbeans. Для его сбора требуется около 3 минут (с включенным режимом -j5).Netbeans всегда компилируется с начала

Я использую мой сервер VM (FreeBSD), размещенный в Windows 8, и используя SFTP-вариант для компиляции.

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

У моего друга была аналогичная проблема некоторое время назад - это было связано с файлами timestamps Netbeans (разные настройки времени на локальной удаленной машине VM &). В моем случае установка времени машины VM такая же, как на моем ПК.

В настоящее время я запускаю Netbeans версии 7.3.1 (потому что более поздняя версия & имеет некоторую нечетную проблему SFTP, которая работает некорректно). Я также пробовал последнюю версию бета-версии, включая более ранние версии, и это, похоже, не решает мою проблему.

В чем проблема? Я буду признателен за каждое решение.

+0

Есть ли вероятность, что вы можете загрузить/ссылку на небольшой пример такого поведения? В моих предыдущих применениях Netbeans этого не происходит. – g19fanatic

+0

@ g19fanatic Его так же просто, как: внесение изменений в любой файл проекта (.cpp/.h), нажатие кнопки сборки (F11) и voilà - вместо компиляции обновленных файлов и завершения задания, скомпилирования с нуля, просто как будто это сделает проект чистым первым (но это не так, поскольку в окне вывода не появляется сообщение). Инструменты сборки, которые я использую для этого проекта: http://i.imgur.com/1pkAZ4D.png, версии: http://i.imgur.com/3HDK1Dd.png – Lucas

+0

Вы пытались включить функцию компиляции при сохранении ? Это функция Java, но, возможно, она также доступна для C++ и может вам помочь – KuramaYoko

ответ

0

Отличная статья «Make Dependency Checking» на эту тему командой NetBeans, которую стоит прочитать, чтобы понять это поведение.

NetBeans внутренне использует утилиту make для проверки зависимостей, определенной в Makefile. Когда мы создаем новый проект в NetBeans, он позволяет «Полная перестройка». Это приводит к этому конкретному поведению.

Однако, если вы хотите этого избежать, мы можем изменить эту функцию на «Инкрементальная перестройка».

Для получения полной информации и для понимания ее последствий, пожалуйста, обратитесь к этой статье из команды NetBeans.

+0

Я понимаю, что это поведение задано в Makefile. Мой проект не такой большой - он имеет менее 60 файлов проекта, поэтому я думаю, было бы хорошо, если бы я мог использовать инкрементную перестройку. Однако нет четкого объяснения того, как изменить вариант сборки для существующего проекта. Как я могу это сделать? – Lucas

+0

В статье содержится скриншот, в котором содержится вся информация об этом, которая выглядит понятной. Помимо этого у меня нет ничего, чтобы поделиться этим. –

+0

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