32 ビットおよび 64 ビット Linux で動作する Firebreath を使用して、Linux ブラウザー プラグインを構築しようとしています。
私の X11/projectDef.cmake には
target_link_libraries(${PROJECT_NAME}
${PLUGIN_INTERNAL_DEPS}
"${CMAKE_CURRENT_SOURCE_DIR}/lib/libOIS-1.4.0_32.so"
)
現在、別のビルドを行いたいときに、その行を手動で 32 から 64 に変更しているだけなので、おそらく間違っています。しかし、私の問題は、32 ビット ライブラリを使用してビルドし、コンパイルに成功した場合でも、Firefox でプラグインをロードしようとすると次のエラーが発生することです。
$ firefox
LoadPlugin: failed to initialize shared library /home/daniel/.mozilla/plugins/npBoomstickJavaScriptJoystickSupport.so [libOIS-1.4.0.so: wrong ELF class: ELFCLASS64]
アーキテクチャに応じて適切なライブラリを自動的に含めるように cmake を設定するにはどうすればよいですか? 同じマシンで x86 と x86_64 の両方を同時にビルドする方法はありますか? プラグインを正しくロードするにはどうすればよいですか? または、この問題をさらにデバッグする方法はありますか?