在用Tornado编译的时候,遇到编译器报如下错误:
make: *** No rule to make target e:/Tornado2.2\_Project/FTTB/utils/h/nos/nos\_cli.h', neede d by
onu07_snmp_cli.o’. Stop.
错误原因:makefile里面的文件依赖关系有问题,导致头文件找不到。
解决办法:打开编译相关模块的makefile文件,找到.o文件的依赖关系,找到.h文件的路径,查看是否出错并改正。
原因分析:这种情况有时候是因为工程所在的目录改变,例如原来在C盘,现在移到了D盘,而makefile里面的.h文件路径没有改变
本人编译linphone时候遇到了上述问题。经过上述的描述,已解决问题。具体解决步骤是:
比如我的报错是:
make[1]: *** No rule to make target jni/..//submodules/linphone/oRTP/build/android/../..//src/str\_utils.c', needed by
obj/local/x86/objs/ortp/src/str_utils.o’. Stop.
分析此问题,的确是由于更改了目录名称引起的。先在出问题的工程下全局搜索str_utils, 然后分别打开这些文件。查看文件里边出错的路径,然后进行相应修改就行了。我出问题的文件名称是 str_utils.o.d 。