在Ubuntu 11.10上交叉编译node.js for optware(slug)时出现此错误。
/optware/cs05q1armel/builds/node/build/default/libv8.a(api.o):通用ELF中的重定位(EM:3) /optware/cs05q1armel/builds/node/build/default/libv8.a:无法读取符号:文件格式错误
使用标志--without-snapshot --without-ssl --dest-cpu = arm for ./configure
arm-none-linux-gnueabi-g ++被正确选为编译器,虽然可能不适合这个lib?
赞赏任何指针
答案 0 :(得分:1)
此问题是由于在不同的体系结构上编译XXXX.o 机。例如,Sun工作站编译成SPARC机器代码 我们的LINUX工作站编译成Intel x86代码。如果你编译一部分 项目在一种类型的架构上,然后尝试编译其余的 当你去决赛时,你可以选择其他类型的建筑 可执行的链接器/加载器将无法读取其中一个部分 项目.o文件创建一个可执行文件,因此 “无法读取符号:文件格式错误”错误消息。 如果您改变机器架构,甚至是操作系统版本 做一个项目清理/删除所有现有的.o文件是合理的 并在您当前的机器上重新创建整个项目。
来自http://ugweb.cs.ualberta.ca/~rod/tutorials/error_messagesC.html“无法理解的错误”部分