-wrapper Invoke all subcommands under a wrapper program. The name of the wrapper program and its parameters are passed as a comma separated list.
gcc -c t.c -wrapper gdb,--args
Соответственно, мы используем этот флаг -wrapper для загрузки библиотек из пользовательских путей, а не извлечение библиотек из системных путей, как показано ниже с помощью команды компиляции gcc: -
gcc-7.3.0/bin/x86_64-pc-linux-gnu-gcc -wrapper /home/hosts/Linux-x86/unix-build/lib/ld-linux.so.2,--library-path,/home/hosts/Linux-x86/unix-build/lib .....
Он работает нормально, как и ожидалось, при компиляции для архитектуры x86_64. Теперь у нас есть требование настроить сборки для платформы QNX aarch64, где мы следуем тому же подходу через флаг -wrapper:-
usr/bin/qcc -V12.2.0,gcc_ntoaarch64le -wrapper /home/hosts/Linux-x86/unix-build/lib/ld-linux.so.2,--library-path,/home/hosts/Linux-x86/unix-build/lib -fdata-sections -ffunction-sections
Сборке не удалось распознать флаг -wrapper. Выдает ошибку: - cc: неизвестная опция: '-wrapper'
Я не могу найти никакой документации по этому поводу на форумах QNX. Любая помощь/предложения по обходному пути действительно помогут.
Я ожидаю, что компилятор qcc будет работать с флагом -wrapper.
Я пробовал другие альтернативы следующим образом: но безуспешно:-
- используйте -rpath:-/usr/bin/qcc -V12.2.0,gcc_ntoaarch64le -Wl,-rpath,/home/hosts/Linux-x86/unix-build/lib ....
- использование --library-path для загрузки библиотек по пользовательским путям: -
/home/unix-build /lib64/ld-linux-x86-64.so.2 --library-path /home/unix-build/lib usr/bin/qcc -V12.2.0,gcc_ntoaarch64le ....
aarch64-unknown-nto-qnx8.0.0/12.2.0/cc1: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found
Подробнее здесь: https://stackoverflow.com/questions/781 ... apper-flag