我已經使用prep2015x64.cmd生成了一個測試插件。64位Firebreath NPAPI插件沒有在Windows註冊
prep2015x64.cmd
內容下面給出
echo off & setlocal enableextensions enabledelayedexpansion
set _FB_GEN="Visual Studio 14 Win64"
call "%~d0%~p0\common.cmd" %*
if %errorlevel% == 2 exit /b 1
call "%~d0%~p0\winprep.cmd"
插件被完全生成,並保證它是64位的,我十字DUMPBIN /集管檢查,它給出了DLL是64位
FILE HEADER VALUES
8664 machine (x64)
9 number of sections
56DFCDF9 time date stamp Wed Mar 9 12:47:13 2016
0 file pointer to symbol table
0 number of symbols
F0 size of optional header
2022 characteristics
Executable
Application can handle large (>2GB) addresses
DLL
然後,我嘗試使用C:\ Windows \ SysWOW64中提升的命令提示符進行註冊。 我用下面的命令註冊
C:\Windows\SysWOW64> C:\Windows\SysWOW64\regsvr32.exe C:\workspace\firebreath\build\bin\TestPlugin\Release\TestPlugin.dll
它給了我一個錯誤:
The Module "C:\workspace\firebreath\build\bin\TestPlugin\Release\TestPlugin.dll"
may not be compatible with version of Windows that you are running.
Check if the module is compatible with an X86(32-bit) or X64(64-bit) version of regsvr32.exe
我使用Windows 7,64位操作系統,所以我來了什麼錯誤真糊塗這裏。它是插件的一代或其他東西。 是否有任何替代方法來獲取插件註冊。
在此先感謝。
感謝您的回覆。我已經嘗試直接在普通cmd提示符下使用regsvr32.exe,但仍然收到相同的錯誤。有沒有什麼我必須檢查或配置在firebreath才能正常工作,因爲建立32位插件工作完全正常。只有64位插件有問題.. – TechTotie
我沒有任何麻煩,但我沒有用vs2015構建,所以我不知道。如果它說模塊可能不兼容,那聽起來像是一個編譯器問題,所以我不認爲它與firebreath代碼直接相關。如果有的話可能是cmake設置不正確 – taxilian
再次感謝您的回覆......我現在嘗試了一些新的東西。我用prep2008x64.cmd構建了64位firebreath插件,然後用Visual Studio 2008構建了firebreath插件。現在我可以在cmd提示符下使用正常的regsvr32註冊插件。但是當我在Mozilla Firefox(64位)上啓動FBControl.htm時,我得到「需要插件才能顯示此內容」。我無法弄清楚,現在可能是什麼問題...... – TechTotie