Я написал программу, для которой мне нужно скомпилировать raspberry-pi3
и это нужно использовать bitbake
для компиляции.
Все было хорошо, когда я написал C
код; и я не использовал динамическую библиотеку.
Если уместно, мне нужно использовать cppunit
, Я уже добавил это в моем rpi-basic-image
и добавил:
DEPENDS = "cppunit".
мой файл make
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 libs
/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 уже экспортирует некоторые переменные, такие как CXXFLAGS, поэтому вы не должны переопределять их в своем Makefile.
yocto по умолчанию экспортирует флаги CXX, вы просто удалили определение флагов CXX в файле Make.