2013-08-23 68 views
1

我看了很长时间才找到解决此错误的方法。当试图交叉编译Apache的一个臂(我相信这可能发生的许多其他架构),我会在服务器文件夹中得到这个错误从:Apache交叉编译错误./gen_test_char:无法执行二进制文件

./gen_test_char: cannot execute binary file 

这意味着阿帕奇试图编译这个test_char.h生成器的实际设备,而我需要它在我的Ubuntu上运行,我正在交叉编译。 Ubuntu无法将编译后的gen_test_char识别为可执行文件,因此我需要为Ubuntu正确编译它。

回答

1

我搜索并搜索,发现了几个尝试补丁,但他们都没有工作。其中大部分是直接从Apache开发组提供的修补程序。

但我终于遇到了这个Apache mail list。它暗示了补丁无法提供的直接解决方案。

在尝试交叉编译Apache之前编译gen_test_char应用程序。所以我做了。并遵循这些建议,它的工作就像一个魅力。

,而不只是编译gen_test_char.c月1日的东西,如: 的gcc -Wall -02 -DCROSS_COMPILE gen_test_char.c -s -o gen_test_char 然后运行它,并把它输出到包括文件夹(或在其 正常放置);

这编译后运行它,以获得所需的输出用:

./gen_test_char > test_char.h