cppunit 找不到 c++11 库
cppunit can't find c++11 libs
我写了一个程序,我需要为 raspberry-pi3
编译它必须使用 bitbake
编译。
写C
代码时一切正常;而且我没有使用动态库。
如果相关,我需要使用 cppunit
。我已经将它添加到我的 rpi-basic-image
中并添加了:
DEPENDS = "cppunit".
我的制作文件
CXX = arm-linux-gnueabi-g++
INCLUDES= -I./
CXXFLAGS = -g $(INCLUDES)
SRCM= CBasicMath.cpp
OBJM = $(SRCM:.cpp=.o)
LINKFLAGS= -lcppunit
testbasicmath: TestBasicMath.cpp $(OBJM)
$(CXX) $(CXXFLAGS) -o $@ TestBasicMath.cpp $(OBJM) $(LINKFLAGS) $(LINKFLAGSLOG4) $(LIBLOG)
# Default compile
.cpp.o:
$(CXX) $(CXXFLAGS) -c $< -o $@
install:
$(INSTALL) -m 755 testbasicmath ${sbindir}/testbasicmath;
clean:
rm -f *.o *.xml testbasicmath
找不到 cppunit c++11 库
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/lib/../lib/libcppunit.so: 对 `std 的未定义引用::invalid_argument::invalid_argument(std::__cxx11::basic_string, std::allocator > const&)@GLIBCXX_3.4.21'
$ arm-linux-gnueabi-g++ -v
Thread model: posix
gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1)
yocto 默认导出 CXX 标志,您只需在 Make 文件中删除 CXX 标志定义。
Yocto 已经导出了一些变量,例如 CXXFLAGS,因此您不应在 Makefile 中覆盖它。
我写了一个程序,我需要为 raspberry-pi3
编译它必须使用 bitbake
编译。
写C
代码时一切正常;而且我没有使用动态库。
如果相关,我需要使用 cppunit
。我已经将它添加到我的 rpi-basic-image
中并添加了:
DEPENDS = "cppunit".
我的制作文件
CXX = arm-linux-gnueabi-g++
INCLUDES= -I./
CXXFLAGS = -g $(INCLUDES)
SRCM= CBasicMath.cpp
OBJM = $(SRCM:.cpp=.o)
LINKFLAGS= -lcppunit
testbasicmath: TestBasicMath.cpp $(OBJM)
$(CXX) $(CXXFLAGS) -o $@ TestBasicMath.cpp $(OBJM) $(LINKFLAGS) $(LINKFLAGSLOG4) $(LIBLOG)
# Default compile
.cpp.o:
$(CXX) $(CXXFLAGS) -c $< -o $@
install:
$(INSTALL) -m 755 testbasicmath ${sbindir}/testbasicmath;
clean:
rm -f *.o *.xml testbasicmath
找不到 cppunit c++11 库
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/lib/../lib/libcppunit.so: 对 `std 的未定义引用::invalid_argument::invalid_argument(std::__cxx11::basic_string, std::allocator > const&)@GLIBCXX_3.4.21'
$ arm-linux-gnueabi-g++ -v
Thread model: posix
gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1)
yocto 默认导出 CXX 标志,您只需在 Make 文件中删除 CXX 标志定义。
Yocto 已经导出了一些变量,例如 CXXFLAGS,因此您不应在 Makefile 中覆盖它。