如何 link OpenWRT 包与 libstdcpp
How to link OpenWRT package with libstdcpp
我有一个 helloworld 包,我可以使用 openwrt buildroot 为 ramips 设备成功构建它。在 Makefile 中,我有一个特殊的包含 (ulibc) 和一个特殊的依赖项 (DEPENDS:=+libc)。包构建并在设备上运行。
现在我需要在我的 helloworld 包中包含 gSoap 生成的代码,但是我有 link 错误:
undefined reference to `std::ios_base::Init::Init()'
遇到这种情况我该怎么办?下一步 - 添加 openssl 支持和 WS Security,它可以在 OpenWRT 设备上运行吗?
您应该将 gSoap 作为一个单独的包添加到您的 Openwrt 中,然后将其作为依赖项添加到您的 helloworld 包中(就像您为 libc 所做的一样)
我解决了我的问题:
将我的包源的 Makefile 中的编译器从 $(CC) 更改为
$(CXX) + $(CFLAGS) 到 $(CXXFLAGS)
在package.mk
之前包含uClibc++.mk
只添加一个依赖:DEPENDS:=+uclibcxx
修复此 LNK 错误后。感谢@amine.ahd!
我有一个 helloworld 包,我可以使用 openwrt buildroot 为 ramips 设备成功构建它。在 Makefile 中,我有一个特殊的包含 (ulibc) 和一个特殊的依赖项 (DEPENDS:=+libc)。包构建并在设备上运行。 现在我需要在我的 helloworld 包中包含 gSoap 生成的代码,但是我有 link 错误:
undefined reference to `std::ios_base::Init::Init()'
遇到这种情况我该怎么办?下一步 - 添加 openssl 支持和 WS Security,它可以在 OpenWRT 设备上运行吗?
您应该将 gSoap 作为一个单独的包添加到您的 Openwrt 中,然后将其作为依赖项添加到您的 helloworld 包中(就像您为 libc 所做的一样)
我解决了我的问题:
将我的包源的 Makefile 中的编译器从 $(CC) 更改为 $(CXX) + $(CFLAGS) 到 $(CXXFLAGS)
在package.mk
之前包含uClibc++.mk
只添加一个依赖:DEPENDS:=+uclibcxx
修复此 LNK 错误后。感谢@amine.ahd!