Войти
Unreal EngineФорумОбщее

Компилятор не видит обновление кода на С++

#0
21:57, 7 апр. 2021

Изменил код, скомпилировал, нажимаю Play, а ничего не поменялось.

Что пробовал: Save(в VS), Clean -> Build(в VS), Rebuild(в VS), Compile(в UE) - ничего не помогает, пока не перезапустишь VS.

Может есть какой-то способ без перезапуска?
Это происходит не каждый раз, иногда нормально компилится.


#1
11:25, 8 апр. 2021

В свойствах проекта в студии можно попробовать отключить инкрементальную сборку, возможно она шакалит.

#2
12:33, 8 апр. 2021

Так будет если время перевести назад. Объектники становятся созданы "позже чем сейчас" и при изменении исходников не перекомпилируются.

#3
15:17, 8 апр. 2021

Zab
> Так будет если время перевести назад.
+1
проблема может быть не только с объектными файлами, я раз ловил баг с перемоткой времени и сохранил случайно некоторые файлы *.cpp "в будущем" - потом огреб подобных ошибок до тех пор, пока не выкачал весь репозиторий по новой)

#4
16:45, 8 апр. 2021

Могут и из репозитория прийти файлы с покореженным временем, если репозиторий им время выставляет. svn не выставляет, но это скорее исключение.

#5
20:15, 8 апр. 2021

Vitorio
> В свойствах проекта в студии можно попробовать отключить инкрементальную
> сборку, возможно она шакалит.
У меня почему-то не отображается часть свойств проекта

+ Показать

Zab
> Так будет если время перевести назад
Я не переводил время

Zab
> Могут и из репозитория прийти файлы с покореженным временем
Я не использую репозиторий

#6
20:26, 8 апр. 2021

Несколько раз нарывался на смешные случаи. Когда компилировал не то, что редактирую, какую-то другую копию. Или запускал не то, что скомпилировал.

Время может править и ntp, который на современных системах может быть включен по умолчанию. Просто посмотри на свои файлы глазами, чтобы у них не было подозрительных дат и времени, "позже, чем сегодня", по часам системы. А объектники лучше всего руками стереть все, не надеясь на clean.

#7
18:12, 9 апр. 2021

Последнее средство у нас в конторе получило название "ребилдол".
В идеале туда входило почистить вообще всё, что создано автоматически.
Так и писали в случае проблем: "Какая-то фигня, всё падает. Ребилдол уже принял."

#8
19:27, 9 апр. 2021

UE4 имеет свою систему сборки и по факту VS со своим солюшеном там сбоку приколочена.
Надо открывать .uproject файл а VS запускать через ui редактора UE4. Через него же надо добавлять
или удалять C++ классы и прочее.
Иначе будет подобная фигня.

#9
20:09, 10 апр. 2021

Zab
> Просто посмотри на свои файлы глазами, чтобы у них не было подозрительных дат и
> времени, "позже, чем сегодня", по часам системы.
В следующий раз обращу внимание на время.

Zab
> Несколько раз нарывался на смешные случаи. Когда компилировал не то, что
> редактирую, какую-то другую копию. Или запускал не то, что скомпилировал.
У меня одна копия и проекта и запущенного редактора. И я всегда сохраняю проект через Ctrl+Shift+S.

se-sss
> В идеале туда входило почистить вообще всё, что создано автоматически.
А что именно создается автоматически?

TheLightWay
> UE4 имеет свою систему сборки и по факту VS со своим солюшеном там сбоку
> приколочена.
Как я понял из гугла, именно из-за этого часть свойств проекта и не отображается.

TheLightWay
> Надо открывать .uproject файл а VS запускать через ui редактора UE4. Через него
> же надо добавлять
> или удалять C++ классы и прочее.
Изначально я так и делал, пока не столкнулся со своей проблемой.

Нашел опцию в UE (Project Settings - Packaging - Project - Full Rebuild) вроде она отключает инкрементальную сборку.

Unreal EngineФорумОбщее