我正在尝试使用在 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?如何让插件正确加载,或者有没有办法进一步调试这个问题?