在cstlib中用#include替换#include_next是否安全?

时间:2018-09-21 14:04:38

标签: c++ include g++ c-preprocessor

我最近在交叉编译qt 5.8项目时遇到了cstdlib中的#include_next <stdlib.h>指令问题。

当我尝试使用linaro-aarch64-gcc_7.2.1-r0工具链构建项目时,遇到了stdlib.h : not such file or directory问题。我通过将#include_next替换为#include来解决此问题。它奏效了,但我很确定这不是解决此问题的好方法。我发现用-isystem中的-I替换gcc-base.conf选项可以解决此问题,但对我来说不起作用。

这是我的问题:在cstdlib中用#include_next替换#include指令是否安全?

预先感谢

1 个答案:

答案 0 :(得分:0)

好吧,编辑标准标头不是程序员应该做的事情。您可能会损害代码的可移植性:如果将代码移到另一台计算机上(出现相同的 ,watch:{ 'form.screw.thread':function(val, oldval){ var box = this.$refs.screw_thread_radios; this.form.screw.thread_t = box.querySelector('input[value="' + val + '"] + label .name').innerHTML; this.form.screw.thread_image = UrlUtilities.get_file_in_url(box.querySelector('input[value="' + val + '"] + label img').getAttribute('src')); } [etc..] 问题),它将不再编译。首先值得弄清楚是什么原因引起的。

但是,如果要在特定计算机上运行代码,它可以作为临时修补程序。我不知道为什么这个cstdlib在您的情况下使用特定于gcc的预处理程序指令。