В настоящее время я занимаюсь разработкой приложения Qt, в котором используется библиотека FTDI D2xx. Мой статус таков, что я могу скомпилировать и запустить программу под Windows, Linux и встроенным Linux (Odroid, с самокомпилируемой кросс-компиляцией Qt).
Но я борюсь с Android (стоковые библиотеки Qt). Я использую ту же библиотеку ARMv7, что и для Odroid-Build, но теперь у меня возникли проблемы с FPU, я думаю. Итак, ошибка:
libftd2xx.so использует аргументы регистра VFP, вывод не
FTDI говорит, что их библиотека использует HardFP (SP и DP) с регистрами VFP (VFPv3-D16).
Когда я изменяю qmake.conf для моего устройства Android, примерно так:
QMAKE_CFLAGS = -Wno-psabi -march=armv7-a -mfloat-abi=hard -mfpu=vfp -mhard-float -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -fno-builtin-memmove
Компоновщик выдает ошибки для каждого .o моего проекта.
Поэтому мой вопрос: как я могу сказать Qt, что весь проект должен использовать hard-FP? Или я что-то пропустил?
Заранее спасибо,
Оливер
Хорошо, я узнал, как устранить ошибку:
QMAKE_LFLAGS += -Wl,--no-warn-mismatch
Но теперь другая проблема заключается в том, что FTDI построил библиотеку с
-хэш-стиль = гну
вместо
-хэш-стиль = SysV
и поэтому он не может быть использован под Android, афаик 🙁
Других решений пока нет …