Linux “gcc:error:0”的性质是什么:没有这样的文件或目录`错误?

Linux “gcc:error:0”的性质是什么:没有这样的文件或目录`错误?,linux,gcc,compiler-errors,configure,Linux,Gcc,Compiler Errors,Configure,我正在从源代码构建多个库,已在最新版本中签出。我确信我已经安装了这些库的所有依赖项。我使用的工具可以在其他系统中生成正确构建的库,并正确安装它们所需的依赖项。但是,在我当前的构建机器上,我可以配置和编译一组库,但是当我试图从源代码编译libiconv和libnaude时,gcc会抛出以下神秘错误: gcc-7: error: 0": No such file or directory 我不是在寻找这个问题的直接解决方案,我只是想知道当这个错误出现在一个成功配置的项目中时,它的性质是什么 编辑:

我正在从源代码构建多个库,已在最新版本中签出。我确信我已经安装了这些库的所有依赖项。我使用的工具可以在其他系统中生成正确构建的库,并正确安装它们所需的依赖项。但是,在我当前的构建机器上,我可以配置和编译一组库,但是当我试图从源代码编译libiconv和libnaude时,gcc会抛出以下神秘错误:

gcc-7: error: 0": No such file or directory
我不是在寻找这个问题的直接解决方案,我只是想知道当这个错误出现在一个成功配置的项目中时,它的性质是什么

编辑:正在运行的最后一个区块是:
libtool:compile:gcc-m64-I../lib-I../../lib-I../include-I../../include-I../-I./-I/home/ubuntu/build/monero/contrib/depends/x86\u 64-linux-gnu/include-pipe-O2-fvisibility=hidden-DLIBDIR=\“/home/ubuntu/build/monero/contrib/depends/x86\u 64-linux-gnu/lib\”-DBUILDING\LIBICONV-dbuildl-DENABLE\u可重定位=1-DIN\u LIBRARY-dinstally=\“/home/ubuntu/build/monero/contrib/depens/x86\linux-gnu/lib\”-DNO\u XMALLOC-Dset\u relocation\u prefix=libiconv\u set\u relocation\u prefix-Drelocate=libiconv\u relocate-DPACKAGE\u NAME=\'libiconv\'-DPACKAGE\u TARNAME='libiconv\'-DPACKAGE\u版本='0\'-DPACKAGE\u字符串='libiconv 0\'-DPACKAGE\u BUGREPORT=\'-DPACKAGE\u URL='-DINSTALLPREFIX='/home/ubuntu/build/monero/x8641-DHAVE文中的数据来源(文中的数据来源)文中的数据来源(文中的数据来源)文中的数据来源(文中)1-DHAVE文中的数据来源(文中)字符串(文中)1-DHAVE文中的数据来源(文中)文中的数据来源(文中)文中的数据来源(文中)文中的数据来源(文中)1-1-1-1-DHAVE文(文中的数据来源(文中)1-DHAVE文中的数据来源(文中)文中(文中)1-1-DHAVE存存存存存存内存(内存)1-1-DHAVE记忆(内存)记忆(内存)1-1-Dhahave存存存存存存存存)内存(内存)1-1-1-Dhahahahave存存存存存存存1-1-1-内存(内存)内存(内存)存存存存1-1-1-1-1-内存需要IEC 60559属性扩展1-1-1-2-2个数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字数字n\u H=1-DLT\u OBJDIR=\“.libs/\”-DHAVE_VISIBILITY=1-DLIBICONV_PLUG-c./../lib/iconv.c-fPIC-DPIC-o objects/.libs/iconv.o

让我印象深刻的是“-DPACKAGE\u STRING=\“libiconv 0\”,这可能会导致字符串作为单独的参数读取。但我不明白为什么这会传递给某些系统,而不会传递给其他系统

我只是想找出这个错误的本质

gcc被要求编译或可能与命令行链接,其中 文件可能是通过变量指定的,该变量的名称是引号 表单的字符串:

"<something> 0"
例如:

$ touch foo.c
$ name="\"foo 0\""
$ gcc -o $name foo.c
gcc: error: 0": No such file or directory
我只是想找出这个错误的本质

gcc被要求编译或可能与命令行链接,其中 文件可能是通过变量指定的,该变量的名称是引号 表单的字符串:

"<something> 0"
例如:

$ touch foo.c
$ name="\"foo 0\""
$ gcc -o $name foo.c
gcc: error: 0": No such file or directory

有些项目有时会配置一个包名字符串,格式为:Package_string=“$packagename$version”,中间有一个空格。这个空白可能最终没有正确终止,因此gcc将把整个字符串解释为两个单独的命令。然后,解决方案是在input configure.ac中修补名称,或者如果它已经是预配置的项目,则将名称字符串修补为不带空格的名称字符串,或者将空格正确格式化。

有些项目有时会使用以下格式的包名称字符串进行配置:Package_string=“$packagename$version”中间有一个空白。这个空白可能最终没有正确终止,因此gcc将把整个字符串解释为两个单独的命令。然后,解决方案是在input configure.ac中修补名称,或者如果它已经是一个预配置的项目,则将名称字符串修补为不带空格的名称字符串,或者将空格正确格式化。

是否尝试在名称中包含空格字符的目录中生成,或者父目录的名称?请在某处检查Windows样式的行尾。在Windows上,
\r\n
标记一行的结尾;在Unix/Linux上,它只是
\n
,而
\r
可以作为文件名的最后一个字符。错误消息打印
\r
字符,导致光标移动到行首,消息的其余部分被覆盖。尝试
gcc。。。2> &1 | cat-A
,以显示错误消息中实际打印的内容。您需要提供更多信息。GCC正在尝试编译一个名为
0的文件“
。冒昧猜测一下,我认为问题在于构建脚本和lib。使用
bash-x
运行脚本并发布输出。您是要在名称中包含空格字符的目录中生成,还是在父目录的名称中生成?请在某处检查Windows样式的行尾。在Windows上,
\r\n
标记一行的结尾;在Unix/Linux上,它只是
\n
,而
\r
可以作为文件名的最后一个字符。错误消息打印
\r
字符,导致光标移动到行首,消息的其余部分被覆盖。尝试
gcc。。。2> &1 | cat-A
,以显示错误消息中实际打印的内容。您需要提供更多信息。GCC正在尝试编译一个名为
0”
的文件。冒昧猜测,我认为问题在于您的构建脚本和libnaude。使用
bash-x运行脚本并发布输出。