контейнере
такой затык:
arm-linux-gnueabihf-g++ -o Docker/nsh -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now,--sysroot=/sysroot,-L/sysroot/usr/lib -Wl,-gc-sections -Wl,--start-group Docker/nsh.o Docker/SettingsHandler.o -lpthread -lprotobuf -lstdc++ ../proto_msgs/Docker/proto_msgs.so ../utils/Docker/utils.a -Wl,--rpath='$ORIGIN' -Wl,--rpath='$ORIGIN/../../proto_msgs/Docker/' -Wl,--rpath='$ORIGIN/../../utils/Docker/' -Wl,--end-group
/sysroot/usr/lib/libprotobuf.so: undefined reference to `__cxa_free_exception@CXXABI_1.3'
....
и далее про символы плюсовой библиотеки
-lstd++ во флагах есть, sysroot есть, -L/sysroot/usr/lib указан и там лежит libstd++
куда копать?
А попробуйте поставить sysroot как /sysroot/, без /usr/lib
я там запятую пропустил в сообщении самом, в команде такие флаги --sysroot=/sysroot,-L/sysroot/usr/lib т.е. флаг sysroot получает путь без /usr/lib (как я понимаю)
а если в конце всех флагов добавить еще один -lstdc++? Мб порядок где-то не тот
Это вопрос по промышленному использованию, отправляй в про
Ты не указал в сборке одну из стандартных библиотек, какая она у тебя - это ты сам лучше знаешь
указал, но уже разобрались, надо было и компилятору тоже указать путь до -L/sysroot/usr/lib
Обсуждают сегодня