QtWebengineを使ってアームプラットフォーム用にQt5.9.1をビルドしようとしています。 これはビルドに渡すアーキテクチャベースの引数です。QtWebengineでopusとsilkコーデックでエラーが発生する
QMAKE_CFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a9
QMAKE_CXXFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a9
デフォルトでは、ビルドにはこれらの値も含まれています。
-mfloat-abi=hard -mtune=generic-armv7-a -mfpu=vfpv3-d16 -mthumb
THISは私が直面しているエラーです。
私が知る限り、cortex-a9ネオンはオプションで、私の特定のSoCはネオンをサポートしていません。 また-print-マルチlibには、この arm400-linuxの-G ++ -print-マルチlibの
armv5te_arm9;@mcpu=arm926ej-s
a9;@mcpu=cortex-a9
a7;@mcpu=cortex-a7
armv5te_arm9_soft;@[email protected]=soft
armv5te_arm9_vfp;@[email protected][email protected]=vfp
a9_soft;@[email protected]=soft
a9_softfp_vfp;@[email protected][email protected]=vfp
a9_softfp_vfpv3-d16;@[email protected][email protected]=vfpv3-d16
a7_soft;@[email protected]=soft
a7_softfp_vfpv4;@[email protected][email protected]=vfpv4
a7_softfp_neon-vfpv4;@[email protected][email protected]=neon-vfpv4
a7_hard_neon-vfpv4;@[email protected][email protected]=neon-vfpv4
を与える私はmkspecsにおけるこれら三つの可能なアーキテクチャの引数を渡す試してみました。このため
QMAKE_CFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=soft
QMAKE_CXXFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=soft
私は
"arm400-linux-g++: error: -mfloat-abi=soft and -mfloat-abi=hard may not be used together".
を得た私はまた
-mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfp
-mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16
これらの引数を渡す試してみました。しかし、それは同じ効果を持っていました。
libxxxx.a(yyyyy.o) uses VFP register arguments, libQt5WebEngineCore.so.5.9.1 does not
ここではオプションが不足しています。なぜこの問題が起こっていますか?
私の場合、私は '-mfloat-abi = softfp'を渡してsoftfpを使うようにビルドしようとしました。それでもエラーの場合は '-mfloat-abi = hard'です。忍者がどのようにビルドしてこれらの値を修正しているのか、私は本当に理解できません。 lib Aとlib Bの両方が1つのビルドからのものです。 –
@Karプロジェクトにアセンブリファイルがありますか?アセンブリでは、ヘッダー内のグローバルビルドオプションを '.fpu'指示文でオーバーライドすることができます。また、SoCにVFPが搭載されている場合は、パフォーマンスが世界的に異なるため、VFPを使用する必要があります。 –
私は[FILE](https://pastebin.com/JiGavCB4)を見つけました。これはqtwebengineにGNビルドのこれらの引数を修正していると思います。しかし、ファイルの変更を行う構文についてはわかりません。 '.pri'ファイルです。 –