1

現在、FTDIのD2xxライブラリを使用するQtアプリを開発しています。私のステータスは、Windows、Linux、および組み込み Linux (Odroid、セルフコンパイル クロス コンパイル Qt) でプログラムをコンパイルして実行できることです。

しかし、私は Android (Qt のストック ライブラリ) に苦労しています。Odroid-Build と同じ ARMv7 ライブラリを使用していますが、FPU に問題があると思います。したがって、エラーは次のとおりです。

libftd2xx.so は VFP レジスタ引数を使用し、出力は使用しません

FTDI は、lib が VFP レジスタ (VFPv3-D16) で HardFP (SP および DP) を使用していると述べています。Android デバイスの qmake.conf を次のように変更すると、次のようになります。

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 ごとにエラーを吐き出します。

私の質問は次のとおりです。プロジェクト全体でハード FP を使用する必要があることを Qt に伝えるにはどうすればよいですか? それとも、他に何か見逃しましたか?

前もって感謝します、 オリバー

4

1 に答える 1

0

わかりました、エラーを抑制する方法を見つけました:

QMAKE_LFLAGS += -Wl,--no-warn-mismatch

しかし、もう1つの問題は、FTDIがライブラリを構築したことです

-hash-style=gnu

それ以外の

-ハッシュスタイル=sysv

したがって、Androidでは使用できません:(

于 2016-07-03T19:29:57.160 に答える