autotools eclipse插件中的MALLOC选项 我在Eclipse中使用AutoTooPoT和一些我下载的C++项目。

autotools eclipse插件中的MALLOC选项 我在Eclipse中使用AutoTooPoT和一些我下载的C++项目。,eclipse,malloc,autotools,Eclipse,Malloc,Autotools,我的目标是为arm处理器进行交叉编译,因此该项目已经配置为使用autotools,但是当我尝试进行交叉编译时,我遇到了以下问题 In file included from /usr/include/c++/4.6/bits/stl_algo.h:61:0, from /usr/include/c++/4.6/algorithm:63, from dtntracepath.cpp:17: /usr/include/c++/4.6/

我的目标是为arm处理器进行交叉编译,因此该项目已经配置为使用autotools,但是当我尝试进行交叉编译时,我遇到了以下问题

In file included from /usr/include/c++/4.6/bits/stl_algo.h:61:0,
                 from /usr/include/c++/4.6/algorithm:63,
                 from dtntracepath.cpp:17:
/usr/include/c++/4.6/cstdlib:119:11: error: ‘::malloc’ has not been declared
我已经签出了项目的配置输出,注意到了这一点

...
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... no
checking for memset... yes
...
我知道如何通过linux终端通过添加选项来修复它

export ac_cv_func_malloc_0_nonnull=yes 
但是,由于项目的设置不可用,因此不需要通过Eclipse或autotools插件。你能启发我吗

亲切问候,

提前谢谢

PS:我在autotools插件中设置的参数如下:

-Command: configure  CFLAGS="-m32" LDFLAGS="-m32"  CC=/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-gcc CC=c99
-All options :  --host=arm-mv5sft-linux-gnueabi --build=i686-linux --target=arm-mv5sft-linux-gnueabi --with-sysroot=/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/arm-mv5sft-linux-gnueabi/
编辑:

我尝试了ldav1s建议,并使用以下配置

configure CC=/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-gcc CXX=/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-g++  CFLAGS="-m32" LDFLAGS="-m32"  
我得到这些错误

Command-line environment variables:
     LDFLAGS="-m32" LDFLAGS="-m32" CC="/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-gcc" CXX="/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-g++"

sh -c /home/t/ibrdtn/ibrdtn-tools-0.8.0/configure      ++ --host=arm-mv5sft-linux-gnueabi --with-sysroot=/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/arm-mv5sft-linux-gnueabi/ 
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: ++
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-mv5sft-linux-gnueabi-strip... no
checking for arm-mv5sft-linux-gnueabi-strip... no
checking for strip... strip
configure: WARNING: using cross tools not prefixed with host triplet
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
Invalid configuration `++': machine `++' not recognized
configure: error: /bin/bash ./config.sub ++ failed
configure: error: /bin/bash ./config.sub ++ failed
checking build system type... 

Configuration failed with error
编辑2 在重新安装eclipse之后,第一版的++错误消失了,现在如果我使用以下配置

configure CC=/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-gcc CXX=/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-g++ CFLAGS="-m32" LDFLAGS="-m32"--host=arm-mv5sft-linux-gnueabi --build=i686-linux --target=arm-mv5sft-linux-gnueabi
它是正确编译的,我看到了一些arm/le输出,但我得到了这个错误 关于其中一个图书馆

make[3]: Entering directory `/home/t/ibrdtn/ibrcommon-0.8.0/ibrcommon/net'
  CXX    tcpclient.lo
  CXX    tcpserver.lo
  CXX    tcpstream.lo
  CXX    udpsocket.lo
  CXX    MulticastSocket.lo
  CXX    UnicastSocket.lo
  CXX    stopandwait.lo
  CXX    vsocket.lo
  CXX    vinterface.lo
  CXX    vaddress.lo
  CXX    LinkManager.lo
In file included from LinkManager.cpp:16:
../../ibrcommon/net/NetLinkManager.h:19:29: error: netlink/netlink.h: No such file or directory
../../ibrcommon/net/NetLinkManager.h:20:26: error: netlink/attr.h: No such file or directory
make[3]: *** [LinkManager.lo] Error 1
make[3]: Leaving directory `/home/t/ibrdtn/ibrcommon-0.8.0/ibrcommon/net'
make[2]: Leaving directory `/home/t/ibrdtn/ibrcommon-0.8.0/ibrcommon'
make[2]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/t/ibrdtn/ibrcommon-0.8.0/ibrcommon'
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

**** Build Finished ****

您没有设置C++编译器(CXX/COD>)作为您的代码的一部分,以“代码>配置< /CUT>,以及多定义C编译器(<代码> cc>代码>)。


您似乎选择了构建机器的编译器(在
/usr/include
中的编译器),而不是交叉编译器(在
/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1中的编译器)。

感谢您的回复,为了选择合适的交叉编译器,我是否应该使用类似的东西:
code configure CFLAGS=“-m32”LDFLAGS=“-m32”CC=/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-gcc CXX=/home/t/s/arm-mv5sft-linux-gnueabi/SW3.2p1/bin/arm-mv5sft-linux-gnueabi-g++
?我确实使用了上面的配置,我听说了这个错误,有没有任何关于它为什么不能理解++?
++
的建议?
configure
的参数看起来不正确。我不知道!!我要做的是重新安装eclipse…我受够了这种奇怪的行为。重新安装eclipse后,我再次尝试了这个命令,在main post中获得了EDIT2的输出。谢谢