我正在使用 WSO2 CPP 开发在 ARM 处理器上运行的应用程序。当我在编译时遇到错误时,我正在尝试在基于 Linux 的 PC 计算机中交叉编译该库。我已将 WSO2 配置为:
export CXXFLAGS="-O2 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -ffast-math -mfloat-abi=softfp"
export CXXFLAGS=${CXXFLAGS}" -I/home/logic/Logic_BSPs/Linux_3.0/1021559_LogicPD_Linux_BSP_2.0-5p1/rootfs/usr/include"
export LDFLAGS=" -L/home/logic/Logic_BSPs/Linux_3.0/1021559_LogicPD_Linux_BSP_2.0-5p1/rootfs/usr/lib"
INSTALL_DIR=/home/logic/Logic_BSPs/Linux_3.0/1021559_LogicPD_Linux_BSP_2.0-5p1/rootfs/usr
CC=/opt/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc \
CXX=/opt/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-g++ \
AR=/opt/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-ar \
RANLIB=/opt/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-ranlib \
./configure --prefix=${INSTALL_DIR} \
--build=i686-linux --host=arm-none-linux-gnueabi \
--target=arm-none-linux-gnueabi --with-apache2=no
在编译时,报告的错误是:
/opt/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc -DHAVE_CONFIG_H -I。-I../../../../.. -I../../../../../包括 -I../../../../.. /src/core/transport -I../../../../../src/core/transport/http -I../../../../../src/core /transport/http/sender/libcurl -I../../../../../src/core/description -I../../../../../src/core /context -I../../../../../src/core/phaseresolver -I../../../../../src/core/engine -I.. /../../../../src/core/deployment -I../../../../../util/include -I../../../. ./../axiom/include -g -O2 -D_LARGEFILE64_SOURCE -ansi -Wall -Wno-implicit-function-declaration -g -D_GNU_SOURCE -DAXIS2_SVR_MULTI_THREADED -DAXIS2_SSL_ENABLED -MT ssl_stream.lo -MD -MP -MF .deps/ssl_stream。 tpo -c ssl/ssl_stream.c -fPIC -DPIC -o .libs/ssl_stream.o 在 http_client.c:32 包含的文件中: ssl/ssl_stream.h:26:25:错误:openssl/ssl.h:没有这样的文件或目录 make[11]: *** [http_client.lo] 错误 1 make[11]: *** 等待未完成的工作...... 在 ssl/ssl_stream.c:21 包含的文件中: ssl/ssl_stream.h:26:25:错误:openssl/ssl.h:没有这样的文件或目录 在 ssl/ssl_stream.c:22 包含的文件中: ssl/ssl_utils.h:33:错误:在 '*' 标记之前应有 '='、','、';'、'asm' 或 '__attribute__' ssl/ssl_utils.h:40: 错误:在 '*' 标记之前需要 '='、','、';'、'asm' 或 '__attribute__' ssl/ssl_utils.h:49: 错误: 'SSL_CTX' 之前的预期声明说明符或'...' ssl/ssl_utils.h:50:错误:预期的声明说明符或“...”在“SSL”之前 [...]
看起来有错误的库没有配置 CXXFLAGS 变量:如您所见,包含到 /home/logic/logic 不包含在编译命令中。
你能解决这个问题吗?
谢谢和最好的问候, Joaquim Duran