【发布时间】:2017-06-22 00:23:55
【问题描述】:
我正在尝试为 ARM 平台交叉编译 Apache Portable Run-time library APR-1.5.2 lib。我正在按照以下步骤操作。
./configure --host=aarch64-unknown-linux-gnu CC=aarch64-unknown-linux-gnu-gcc
make
我在配置和制作中没有收到任何错误,但是当我尝试将其链接到我的代码时,我收到了链接错误。
#include <iostream>
#include <stdio.h>
using namespace std;
#include "apr_general.h"
#include "apr_network_io.h"
#include "apr_strings.h"
int main(){
apr_initialize();
std::cout<<"Welcome Program compiling "<<std::endl;
return 0;
}
当我使用交叉编译器编译代码时出现错误。
aarch64-unknown-linux-gnu-g++ -o Test -I ../../../../Static_APR/apr-1.5.2/include DAS.cpp ../../../../Static_APR/apr-1.5.2/.libs/libapr-1.a -lpthread
**apr-1.5.2/.libs/libapr-1.a(start.o): Relocations in generic ELF (EM: 62)**
使用 g++ 可以很好地编译代码。
g++ -o Test -I ../../../../Static_APR/apr-1.5.2/include DAS.cpp ../../../../Static_APR/apr-1.5.2/.libs/libapr-1.a -lpthread
即使我使用了 CC=aarch64-unknown-linux-gnu-gcc,为什么 APR 库没有为 arm(交叉编译器)构建
谁能帮助我正确的方法来构建 APR 以进行交叉编译?
【问题讨论】:
标签: c linux cross-compiling autotools apr