Arm交叉编译错误,libdaemon.h没有这样的文件或目录

Arm交叉编译错误,libdaemon.h没有这样的文件或目录,arm,cross-compiling,configure,Arm,Cross Compiling,Configure,我尝试交叉编译一些C++项目,用于ARMV5SFT-LIUX-GNUEABI处理器,我已经以以下方式设置了这个项目的./Po配置: ./configure --build=i686-linux --host=arm-mv5sft-linux-gnueabi --target=arm-mv5sft-linux-gnueabi CC=~/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-gcc CXX=~/s/arm-mv

我尝试交叉编译一些C++项目,用于ARMV5SFT-LIUX-GNUEABI处理器,我已经以以下方式设置了这个项目的./Po配置:

./configure --build=i686-linux --host=arm-mv5sft-linux-gnueabi --target=arm-mv5sft-linux-gnueabi CC=~/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-gcc CXX=~/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-g++ LD=~/s/arm-mv5sft-linux-gnueabi/SW3.2p1/arm-mv5sft-linux-gnueabi/bin/arm-mv5sft-linux-gnueabi-ld LDFLAGS=-L/usr/include/libdaemon --with-sysroot=/home/thales/s/arm-mv5sft-linux-gnueabi/SW3.2p1/arm-mv5sft-linux-gnueabi --prefix=/justInstalled --disable-shared --enable-threads=posix --enable-long-long --enable-target-optspace --disable-nls --with-float=soft --disable-multilib --enable-symvers=gn
配置成功,但是当我进行配置时,出现了一个包含错误

libtool: link: warning: library `/home/j/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/../../../../arm-mv5sft-linux-gnueabi/lib/libstdc++.la' was moved.
  CXX    Main.o
Main.cpp:28:30: error: libdaemon/daemon.h: No such file or directory
Main.cpp: In function 'int __daemon_run()':
Main.cpp:175: error: 'daemon_retval_send' was not declared in this scope
.
.
.
make[1]: Leaving directory `/home/j/ibrdtn-svn/daemon'
make: *** [all-recursive] Error 1
如果我转到Main.cpp文件查看发生了什么,它会抱怨libdeamon的包含

...
#include "config.h"
#include "Configuration.h"
#include <ibrcommon/Logger.h>
#include <ibrcommon/data/File.h>

#ifdef HAVE_LIBDAEMON
#include <libdaemon/daemon.h>
#endif

#include <string.h>
#include <csignal>
#include <set>
...
@ubuntu:~$ pkg-config --libs libdaemon
-ldaemon
@ubuntu:~$locate libdaemon
/usr/include/libdaemon
/usr/include/libdaemon/daemon.h
/usr/include/libdaemon/dexec.h
/usr/include/libdaemon/dfork.h
/usr/include/libdaemon/dlog.h
/usr/include/libdaemon/dnonblock.h
/usr/include/libdaemon/dpid.h
/usr/include/libdaemon/dsignal.h
/usr/lib/libdaemon.a
/usr/lib/libdaemon.so
/usr/lib/libdaemon.so.0
/usr/lib/libdaemon.so.0.5.0
/usr/lib/pkgconfig/libdaemon.pc
为什么包含错误??我试着包括使用

./configure (as before) LDFLAGS=-llibdeamon (as before)
但是configure告诉我有一个错误,我必须阅读conf.log,它说

/home/j/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/../../../../arm-mv5sft-linux-gnueabi/bin/ld: cannot find -llibdeamon
collect2: ld returned 1 exit status
任何想法都将不胜感激

提前感谢,

问候

编辑

我曾尝试交叉编译libdaemon库,但无法实现,我已下载libdaemon源代码,解压后,我转到代码所在的目录并执行
/configure--build=i686 linux--host=arm-mv5sft-linux-gnueabi--target=arm-mv5sft-linux-gnueabi CC=~/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-gcc-CXX=~/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi+LD=/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/arm-mv5sft-linux-gnueabi/bin/arm-mv5sft-linux-gnueabi-LD——前缀=/usr

最后通过以下步骤安装库:

make install DESTDIR=/home/t/libdaemon-0.14
但是,当我像这样重新启动主项目的配置时

./configure --build=i686-linux --host=arm-mv5sft-linux-gnueabi --target=arm-mv5sft-linux-gnueabi CC=~/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-gcc CXX=~/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-g++ LD=/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/arm-mv5sft-linux-gnueabi/bin/arm-mv5sft-linux-gnueabi-ld CCPFLAGS=-I/home/t/libdaemon-0.14/usr/include LDFLAGS=-L/home/t/libdaemon-0.14/lib --with-sysroot=/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/arm-mv5sft-linux-gnueabi --prefix=/justInstalled --disable-shared --enable-threads=posix --enable-long-long --enable-target-optspace --disable-nls --with-float=soft --disable-multilib --enable-symvers=gnu
我在这篇文章的开头仍然会遇到同样的错误。。。我做错了什么

提前谢谢

编辑2:

我想我现在的问题是,libdeamon不是为arm交叉编译的,我不明白为什么在交叉编译libdeamon库之后,我检查了库不是为arm交叉编译的,正如可以看到的,它仍然用于构建intel

:~/libdaemon-0.14$ file -F usr/*/*.*
usr/lib/libdaemon.lausr/lib/libdaemon.a       libtool library file, 
usr/lib/libdaemon.sousr/lib/libdaemon.a       symbolic link to `libdaemon.so.0.5.0'
usr/lib/libdaemon.so.0usr/lib/libdaemon.a     symbolic link to `libdaemon.so.0.5.0'
usr/lib/libdaemon.so.0.5.0usr/lib/libdaemon.a ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xe4959941fb153e1dec5ec84f798dc32928219ae2, not stripped
如果我尝试用这个“交叉编译”库编译主项目,我会得到这样的结果

libtool: link: warning: library `/home/j/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/../lib/gcc/arm-mv5sft-linux-gnueabi/4.3.2/../../../../arm-mv5sft-linux-gnueabi/lib/libstdc++.la' was moved.
/home/j/libdaemon-0.14/usr/lib/libdaemon.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[3]: *** [dtnd] Error 1

那么我能做什么呢???

你有libdaemon的arm版本吗?你应该构建它并传递它的路径。我不这么认为。我需要下载libdaemon的源代码并为arm交叉编译它?我已经交叉编译了库(它在原始文章中解释过),但毫无价值…你需要同时指定路径(-L)和库名(-L)。我已经试过了,但我认为porblme是另一个,这是我在最初的帖子中描述的。