NDK编译动不动出现***target pattern contains no `%'. Stop.的编译错误,不知道为什么,有人遇到过没?

时间:2021-08-07 19:53:48
NDK编译动不动出现***target pattern contains no `%'. Stop.的编译错误,不知道为什么,有人遇到过没?




16 个解决方案

#1


我的NDK编译是在WINXP环境下的CYGWIN里面进行的,本来刚才还好好可以编译的工程,修改一点东西再编译就报这样的错误。

在UBUNTU系统环境下进行NDK编译却不会这样。不知道这两个系统对NDK的编译有什么样的影响,奇怪了呢!!!

文件路径的表示方法不一样吗?

#2


make的常见错误信息
http://www.linuxsir.org/main/doc/gnumake/GNUmake_v3.80-zh_CN_html/make-15.html



missing target pattern. Stop.

multiple target patterns. Stop.

target pattern contains no `%'. Stop.

mixed implicit and static pattern rules.  Stop.

不正确的静态模式规则。

第一条错误的原因是:静态模式规则的目标段中没有模式目标;

第二条错误的原因是:静态模式规则的目标段中存在多个模式目标;

第三条错误的原因是:静态模式规则的目标段目标模式中没有包含模式字符“%”;

第四条错误的原因是:静态模式规则的三部分都包含了模式字符“%”。正确的应该是只有后两个才可以包含模式字符“%”。

关于静态模式规则可参考 4.12 静态模式 一节




不理解上面对这个错误的描述!!!

#3


本来装个CYGWIN环境是为了方便好用,如果这样难用,难道真的转到UBUNTU系统里面去玩?这样就太难搞了。

#4


NDK 错误,请高手指教..

http://www.eoeandroid.com/thread-45897-1-1.html



you can try to delete the .o.d file under /project/obj/filename.o.d

#5


Issue trying to build PocketSphinx for Android using the NDK on Windows with Cygwin

http://*.com/questions/4502560/issue-trying-to-build-pocketsphinx-for-android-using-the-ndk-on-windows-with-cygw

#6


把obj目录干掉重新编译吧

#7


求教gcc编程时 出现错误 : expected ‘;’, ‘,’ or ‘)’ before ‘&’ token

http://www.linuxdiyf.com/bbs/thread-184898-1-1.html



楼上说的对,在C语言里没有C++所谓的“按引用传递”,即Exchg3(int &x, int &y)应改为Exchg3(int *x, int *y)然后再这样调用Exchg3(&a, &b)就不会出错了,当然前提是你得把Exchg3(int *x, int *y)修改正确了

#8


“expected '=', ',', ';', 'asm' or '__attribute__' before 'void'”

http://blog.csdn.net/jlnhyd/archive/2009/02/25/3934540.aspx



我错在哪:

1。 编译文件里面没有添加足够的合适的CONFIG_LIBS (SubDirPkgConfig)

2。linux c(c++)中是没有bool变量的,详见

http://www.cnblogs.com/legendry/archive/2006/05/30/412918.html

 C语言(或C++)里本身没有bool这种布尔类型。有些编译器可以识别,那也是因为编译器自己定义了bool类型,比如:#define bool int。 

  C语言里,一般用整型变量来实现布尔型变量的功能。当用条件语句,如if,进行判断时,值为0时返回false,其它都返回true。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jlnhyd/archive/2009/02/25/3934540.aspx

#9


error: stray ‘\357’ in program

http://forum.ubuntu.org.cn/viewtopic.php?f=56&t=201382



去掉代码前面的空格就可以啦!
linux系统的代码,特别是数据结构代码,在用gedit(或者类似的编辑器)编辑时,每一行代码前面不要用增加空格来对齐,而是用tab键制表符来实现代码到对齐,否则会出现error: stray '\127'(或则'\128') in program这种错误,其原因是linux编译器不能识别空格。

#10


GCC错误:stray '\161' in program 

http://www.cppblog.com/tx7do/archive/2008/05/05/22629.html


今天用G++编译,
出现了这个错误:stray '\161' in program 
原来是因为那行出现了全角字符.
鬼晓得哪里来的全角字符....
把那行删了,
重新打进去,
OK,没有问题了.... 


#11


error: stray '\161' in program
今天有发现了这个错误,终于有点明白了,如果代码中含有全角标点的话,就会这样。可能是全角的Tab

#12


OpenGL显示文字--显示英文
http://blog.csdn.net/Wadejr/archive/2009/11/23/4857046.aspx


【原创】OPENGL ES显示字符串 
http://www.cnblogs.com/iameasy_man/archive/2009/12/25/1632395.html


OpenGL显示文字--显示汉字【转】
http://blog.sina.com.cn/s/blog_4ff085000100dew0.html







#13


引用 11 楼 qthsrs232 的回复:
error: stray '\161' in program
今天有发现了这个错误,终于有点明白了,如果代码中含有全角标点的话,就会这样。可能是全角的Tab

好像也不全是这个原因,我把文件从CPP文件修改为C文件再编译就没这样的问题了。可能CPP没有指定用G++编译器来进行编译的问题。

#14


引用 12 楼 qthsrs232 的回复:
OpenGL显示文字--显示英文
http://blog.csdn.net/Wadejr/archive/2009/11/23/4857046.aspx


【原创】OPENGL ES显示字符串 
http://www.cnblogs.com/iameasy_man/archive/2009/12/25/1632395.html


OpenGL显示文字--显示汉字【转】
htt……

如果没有字库的支持,那就只有用模拟字库的方式,把字符取模,获取其点阵数据,通过点阵数据对对应的纹理赋颜色数据值!!!有了图片数据就可以产生一个点阵字库的模拟纹理,再贴过去!!!

#15


楼主在不
target pattern contains no `%'. Stop的问题解决没?
我的也卡这块了

#16


我也遇到这样的问题了,问题一大堆啊,一个接着一个,谁知道怎么解决呀?
$ $NDK/ndk-build
/cygdrive/f/android-ndk-r9/build/core/build-binary.mk:348: *** target pattern contains no '%'。 停止。

#1


我的NDK编译是在WINXP环境下的CYGWIN里面进行的,本来刚才还好好可以编译的工程,修改一点东西再编译就报这样的错误。

在UBUNTU系统环境下进行NDK编译却不会这样。不知道这两个系统对NDK的编译有什么样的影响,奇怪了呢!!!

文件路径的表示方法不一样吗?

#2


make的常见错误信息
http://www.linuxsir.org/main/doc/gnumake/GNUmake_v3.80-zh_CN_html/make-15.html



missing target pattern. Stop.

multiple target patterns. Stop.

target pattern contains no `%'. Stop.

mixed implicit and static pattern rules.  Stop.

不正确的静态模式规则。

第一条错误的原因是:静态模式规则的目标段中没有模式目标;

第二条错误的原因是:静态模式规则的目标段中存在多个模式目标;

第三条错误的原因是:静态模式规则的目标段目标模式中没有包含模式字符“%”;

第四条错误的原因是:静态模式规则的三部分都包含了模式字符“%”。正确的应该是只有后两个才可以包含模式字符“%”。

关于静态模式规则可参考 4.12 静态模式 一节




不理解上面对这个错误的描述!!!

#3


本来装个CYGWIN环境是为了方便好用,如果这样难用,难道真的转到UBUNTU系统里面去玩?这样就太难搞了。

#4


NDK 错误,请高手指教..

http://www.eoeandroid.com/thread-45897-1-1.html



you can try to delete the .o.d file under /project/obj/filename.o.d

#5


Issue trying to build PocketSphinx for Android using the NDK on Windows with Cygwin

http://*.com/questions/4502560/issue-trying-to-build-pocketsphinx-for-android-using-the-ndk-on-windows-with-cygw

#6


把obj目录干掉重新编译吧

#7


求教gcc编程时 出现错误 : expected ‘;’, ‘,’ or ‘)’ before ‘&’ token

http://www.linuxdiyf.com/bbs/thread-184898-1-1.html



楼上说的对,在C语言里没有C++所谓的“按引用传递”,即Exchg3(int &x, int &y)应改为Exchg3(int *x, int *y)然后再这样调用Exchg3(&a, &b)就不会出错了,当然前提是你得把Exchg3(int *x, int *y)修改正确了

#8


“expected '=', ',', ';', 'asm' or '__attribute__' before 'void'”

http://blog.csdn.net/jlnhyd/archive/2009/02/25/3934540.aspx



我错在哪:

1。 编译文件里面没有添加足够的合适的CONFIG_LIBS (SubDirPkgConfig)

2。linux c(c++)中是没有bool变量的,详见

http://www.cnblogs.com/legendry/archive/2006/05/30/412918.html

 C语言(或C++)里本身没有bool这种布尔类型。有些编译器可以识别,那也是因为编译器自己定义了bool类型,比如:#define bool int。 

  C语言里,一般用整型变量来实现布尔型变量的功能。当用条件语句,如if,进行判断时,值为0时返回false,其它都返回true。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jlnhyd/archive/2009/02/25/3934540.aspx

#9


error: stray ‘\357’ in program

http://forum.ubuntu.org.cn/viewtopic.php?f=56&t=201382



去掉代码前面的空格就可以啦!
linux系统的代码,特别是数据结构代码,在用gedit(或者类似的编辑器)编辑时,每一行代码前面不要用增加空格来对齐,而是用tab键制表符来实现代码到对齐,否则会出现error: stray '\127'(或则'\128') in program这种错误,其原因是linux编译器不能识别空格。

#10


GCC错误:stray '\161' in program 

http://www.cppblog.com/tx7do/archive/2008/05/05/22629.html


今天用G++编译,
出现了这个错误:stray '\161' in program 
原来是因为那行出现了全角字符.
鬼晓得哪里来的全角字符....
把那行删了,
重新打进去,
OK,没有问题了.... 


#11


error: stray '\161' in program
今天有发现了这个错误,终于有点明白了,如果代码中含有全角标点的话,就会这样。可能是全角的Tab

#12


OpenGL显示文字--显示英文
http://blog.csdn.net/Wadejr/archive/2009/11/23/4857046.aspx


【原创】OPENGL ES显示字符串 
http://www.cnblogs.com/iameasy_man/archive/2009/12/25/1632395.html


OpenGL显示文字--显示汉字【转】
http://blog.sina.com.cn/s/blog_4ff085000100dew0.html







#13


引用 11 楼 qthsrs232 的回复:
error: stray '\161' in program
今天有发现了这个错误,终于有点明白了,如果代码中含有全角标点的话,就会这样。可能是全角的Tab

好像也不全是这个原因,我把文件从CPP文件修改为C文件再编译就没这样的问题了。可能CPP没有指定用G++编译器来进行编译的问题。

#14


引用 12 楼 qthsrs232 的回复:
OpenGL显示文字--显示英文
http://blog.csdn.net/Wadejr/archive/2009/11/23/4857046.aspx


【原创】OPENGL ES显示字符串 
http://www.cnblogs.com/iameasy_man/archive/2009/12/25/1632395.html


OpenGL显示文字--显示汉字【转】
htt……

如果没有字库的支持,那就只有用模拟字库的方式,把字符取模,获取其点阵数据,通过点阵数据对对应的纹理赋颜色数据值!!!有了图片数据就可以产生一个点阵字库的模拟纹理,再贴过去!!!

#15


楼主在不
target pattern contains no `%'. Stop的问题解决没?
我的也卡这块了

#16


我也遇到这样的问题了,问题一大堆啊,一个接着一个,谁知道怎么解决呀?
$ $NDK/ndk-build
/cygdrive/f/android-ndk-r9/build/core/build-binary.mk:348: *** target pattern contains no '%'。 停止。