如何将OpenWRT包与libstdcpp链接

时间:2016-07-14 05:55:41

标签: linker cross-compiling openwrt

我有一个helloworld包,我可以使用openwrt buildroot为ramips设备成功构建它。在Makefile中,我有一个特殊的include(ulibc)和一个特殊的依赖(DEPENDS:= + libc)。包构建并在设备上工作。 现在我需要在我的helloworld包中包含gSoap生成的代码,但后来我有链接错误:

undefined reference to `std::ios_base::Init::Init()'

在这种情况下我该怎么办?下一步 - 添加openssl支持和WS Security,它可以在OpenWRT设备上运行吗?

2 个答案:

答案 0 :(得分:0)

您应该将gSoap作为单独的包添加到您的Openwrt中,然后将其作为依赖项添加到您的helloworld包中(就像您为libc所做的那样)

答案 1 :(得分:0)

我解决了我的问题:

  1. 将我的包源的Makefile中的编译器从$(CC)更改为 $(CXX)+ $(CFLAGS)兑换$(CXXFLAGS)

  2. 在package.mk

  3. 之前包含uClibc ++。mk
  4. 只添加一个依赖项:DEPENDS:= + uclibcxx

  5. 修复此LNK错误后。感谢@ amine.ahd!