我已经在宿主机( ubuntu)上使用了gcc的应用程序测试,编译成功,并在宿主机上成功运行了应用程序。
现在我想用LPC1788的arm交叉编译器交叉编译相同的应用程序。请指导我如何链接openssl库文件
我和GCC的Mkakefile
CC = gcc
CFLAGS = -D__XMLSEC_FUNCTION__=__FUNCTION__ -DXMLSEC_NO_XKMS=1
-DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING=1 -I/usr/include/xmlsec1
-I/usr/include/libxml2 -DXMLSEC_OPENSSL_097=1
-DXMLSEC_CRYPTO_OPENSSL=1 -DXMLSEC_CRYPTO=\"openssl\ -DUNIX_SOCKETS -D XML_SECURITY
LDFLAGS = -lcrypto -I/usr/include/libxml2 -lxml2 -I/usr/include/xmlsec1 -lxmlsec1
all:
$(CC) src/test.c -o test $(CFLAGS) $(LDFLAGS)通过更改编译器,我使用了以下Makefile
CC = /home/amarayya/doc/tools/arm-2010q1/bin/arm-uclinuxeabi-gcc
CFLAGS = -D__XMLSEC_FUNCTION__=__FUNCTION__ -DXMLSEC_NO_XKMS=1
-DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING=1 -I/usr/include/xmlsec1
-I/usr/include/libxml2 -DXMLSEC_OPENSSL_097=1
-DXMLSEC_CRYPTO_OPENSSL=1 -DXMLSEC_CRYPTO=\"openssl\ -DUNIX_SOCKETS -D XML_SECURITY
LDFLAGS = -lcrypto -L/usr/include/libxml2 -lxml2 -L/usr/include/xmlsec1 -lxmlsec1
all:
$(CC) src/test.c -o test $(CFLAGS) $(LDFLAGS)这导致了这些错误
fatal error: openssl/rsa.h: No such file or directory
fatal error: openssl/rsa.h: No such file or directory是什么导致了这些错误,以及如何克服
发布于 2014-07-10 16:21:18
在为不同的体系结构编译时,不能使用主机库。首先,您需要为您的目标计算机(即ARM)交叉编译所有非标准库(libxml、libopenssl)。
基本上,您需要下载这些库的源代码并使用
--host=arm-uclinuxeabi --prefix=SOME_HOST_DIR(或者类似的东西--您可以查看自述文件)假设您的交叉编译器在PATH中。
这些库可能还需要交叉编译更多的库。
在编译您的应用程序时,您应该使用这些交叉编译库。
https://stackoverflow.com/questions/24671252
复制相似问题