Arm 语法错误:单词意外(应为“)”)

Arm 语法错误:单词意外(应为“)”),arm,qt4,Arm,Qt4,简而言之,在linux中,只要出现以下错误 “语法错误:单词意外(期望”)”,它通常是什么意思 细节上的问题-我一直在尝试按照Ubuntu10.04上的Sourcery工具链交叉编译Qt-4.6。我遵循链接中提到的确切步骤。但是我在./configure步骤中正确地得到了以下错误- /home/weds/qt-everywhere-opensource-src-4.6.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")") 在

简而言之,在linux中,只要出现以下错误 “语法错误:单词意外(期望”)”,它通常是什么意思

细节上的问题-我一直在尝试按照Ubuntu10.04上的Sourcery工具链交叉编译Qt-4.6。我遵循链接中提到的确切步骤。但是我在./configure步骤中正确地得到了以下错误-

/home/weds/qt-everywhere-opensource-src-4.6.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
在互联网上搜索,我发现了很多关于这个错误的帖子。全部读一遍。但对于这个错误是什么以及如何解决它仍然一无所知。如果有人能帮助我理解这个错误,我会很高兴

p.S 1-Sourcery toolchain位于/opt/文件夹中,我的路径变量正确指向它。
第2页-此工具链不是由我手动安装的。相反,它是由供应商提供的一个.tgz文件,我在/opt/文件夹中提取了该文件。

99%这是一个错误的文件传输/ascii/二进制模式


尝试直接在目标系统上提取工具链

,这是Almquist shell或其任何衍生物(如
dash
)报告的错误(而
dash
恰好是Ubuntu 10.04上
/bin/sh
的默认实现)当在分析脚本语法时发现一个单词,而该脚本的语法应为
,例如,如本例中的语句:

$ dash -c 'case a in b c) :; esac'
dash: 1: Syntax error: word unexpected (expecting ")")
这是因为在
b
之后,唯一需要的是
,(虽然实际上
|
也是允许的),所以
c
这个词是出乎意料的

$ dash -c 'myfunc( something'
dash: 1: Syntax error: word unexpected (expecting ")")
一种可能发生这种情况的情况是,如果脚本是在Microsoft操作系统上编写或通过Microsoft操作系统传输的,其中文本行结尾是CRLF而不是LF

A

在MS-DOS上编写的脚本将显示为:

case a in b) cmd1;;<CR>
          c) cmd2<CR>
esac<CR>
如果您将
/bin/touch
的内容视为脚本,您会看到:

^?ELF^B^A^A^@^@^@^@^@^@^@^@^@^B^@>^@^A^@^@^@5&@^@^@^@^@^@@^@^@^@^@^@^@^@(ô^@^@...

您链接到的说明中似乎张贴了对此的答案

诚然,这是一个错误,但搜索
qmake:Syntax error:word unexpected
并不需要很长时间

引述:

Tej说:2013年1月4日下午12:20

好的,我已经解决了这个问题。很不幸,ppl没有这样做 告诉我到底是什么问题。问题是我们必须使用主机 克马克。不管出口(出口)是什么 PATH=/usr/local/arm/4.3.2/bin:$PATH等)我们在tslib过程中在步骤中执行 安装,我们必须撤销所有这些。就这样

希望能帮助别人


如果不清楚,Tej建议你在主机系统上运行交叉编译<代码> Quest。< /P> < P>我在这个问题出现时在Ubuntu 18.04上写了一个C++程序。原因是程序的文件名包含字符“(“和”)”。重命名文件后,它对我起了作用。

对我来说,奇怪的修复方法是删除package-lock.json和node_modules文件夹,然后再次构建docker映像

我也会建议这样做,但OP说,
.tgz
被直接提取到
/opt
文件夹中。谢谢,这个answr解决了这个问题,我已将二进制文件压缩到.tar.gz,并在文件传输后提取到目标设备。Erro将提交tansfr Problem文件,感谢ton Roaima指出这一点。我读过这篇评论,但不知怎么的,我认为这是一个路径错误,所以忽略了它。但在你指出后,我又重新阅读了一遍,答对了,这就是问题所在:)但现在我遇到了另一个问题,我将它作为一个新问题发布。如果你试图运行一个为错误的arch编译的ELF可执行文件,并且使用
exec
:Related:
$ dash /bin/touch
/bin/touch: 1: /bin/touch: Syntax error: word unexpected (expecting ")")
^?ELF^B^A^A^@^@^@^@^@^@^@^@^@^B^@>^@^A^@^@^@5&@^@^@^@^@^@@^@^@^@^@^@^@^@(ô^@^@...