2017-01-29 8 views
-1

Я хочу спросить то, что может показаться глупым, но я не знаю, как это преодолеть.Неверные файлы, скомпилированные в C++-программе с использованием Dev-C++ 5.11

Я написал программу на C++ с некоторыми файлами заголовков и двумя файлами cpp, один из которых включает в себя main.In файлы заголовков есть определения некоторых классов, которые я создал, которые имеют некоторые встроенные функции и некоторые функции, которые я объявил в классы и определены в одном из файлов cpp (а не в основном с основным). Программа скомпилирована и работает нормально, но я хотел изменить несколько деталей в некоторых встроенных функциях классов. Я сделал эти изменения, и программа была скомпилирована и запущена, но она использовала предыдущую версию файлов заголовков, а не новую.

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

Я использую Дек-C++ 5.11 в окнах 10.

решаемая. Похоже, мне нужно было изменить имя файла. Большое спасибо!!

+0

Вы сделали «чистым» между сборками? что касается нового проекта, я бы предположил, что каким-то образом вы все еще включаете старые файлы. измените имена заголовков и повторите попытку. что может помочь выявить проблему. или добавьте -H в строку компиляции, которая покажет (на многих компиляторах) файлы заголовков, которые втягиваются. – ccpgh

+0

Изменение имени работало! Большое спасибо!! : D –

ответ

0

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

Изменение имени файла заголовка во многих случаях будет работать вокруг этого «кеша», но правильный (и гораздо более удобный) подход заключается в том, чтобы вы проинструктировали вашу среду IDE перестроить весь проект с нуля. В Dev-C++ этот параметр называется «Rebuild All». Обычно я рекомендую эту опцию всякий раз, когда вы изменяете заголовочный файл.

(Если вы используете GNU Makefiles, вы должны выполнить make clean перед следующим make all).

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

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