Безопасно ли заменить #include_next на #include в cstlib - PullRequest
0 голосов
/ 21 сентября 2018

Недавно я столкнулся с проблемами с инструкцией #include_next <stdlib.h> в cstdlib при кросс-компиляции проекта qt 5.8.

Пока я пытался собрать свой проект с помощью цепочки инструментов linaro-aarch64-gcc_7.2.1-r0, у меня возникла проблема stdlib.h : not such file or directory.Я решил это, заменив вхождение #include_next на #include.Это сработало, но я уверен, что это не очень хороший способ решить эту проблему.Я обнаружил, что замена опции -isystem на -I в gcc-base.conf может решить эту проблему, но она не работает для меня.

Так что вот мой вопрос: безопасно ли заменить #include_next инструкция #include в cstdlib?

Заранее спасибо

1 Ответ

0 голосов
/ 21 сентября 2018

Что ж, редактирование стандартных заголовков - это не то, что программист когда-либо должен делать.Это повредит переносимости кода: если вы перенесете код на другой компьютер (с той же проблемой cstdlib), он больше не будет компилироваться.Во-первых, стоит выяснить, что является причиной проблемы.

Однако, это может работать как временное исправление, если вы хотите запустить свой код на вашей конкретной машине.Я не знаю, почему в этом случае cstdlib использует директиву препроцессора, специфичную для gcc.

...