firemail

标题: xulrunner中Mozilla XPCOM C++组件示例Sample在VC中的配置方法 [打印本页]

作者: hechengjin    时间: 2016-4-25 11:50
标题: xulrunner中Mozilla XPCOM C++组件示例Sample在VC中的配置方法
http://blog.csdn.net/lhxwws/article/details/6444459


xulrunner中Mozilla XPCOM C++组件示例Sample在VC中的配置方法


一、组件的配置


1.在http://mxr.mozilla.org/mozilla-central/source/xpcom/sample/中提取下列文件并将其放在一个新建的目录比如d:/Sample下

    nsISample.idl

    nsSample.cpp

    nsSample.h

    nsSampleModule.cpp


2.在ftp://ftp.mozilla.org/pub/xulrunner/releases/2.0/sdk/下载xulrunner-sdk xulrunner-2.0.en-US.win32.sdk.zip,

并将其解压到一个目录比如d:/xulrunner-sdk


3.在VC中创建win32 DLL空项目Sample,并将上面的文件加入此项目


4.创建build.bat,其内容如下,并放入此项目目录下(即存放Sample.vcproj的目录),

并在项目属性的预生成事件的命令行中填入build.bat,编译生成nsISample.h并将其加入此项目

d:

cd D:/Sample

D:/xulrunner-sdk/bin/xpidl.exe -I D:/0c/xulrunner-sdk/idl -m header nsISample.idl

D:/xulrunner-sdk/bin/xpidl.exe -I D:/0c/xulrunner-sdk/idl -m typelib nsISample.idl

copy nsISample.xpt D:/xulrunner-sdk/bin/components

cd D:/Sample


5.在项目的预处理器中加入下列项

WIN32

_DEBUG

_WINDOWS

XP_WIN

_USRDLL

SAMPLE_EXPORTS

MOZ_NO_MOZALLOC


6.将[链接器]-->[输入]-->[附加依赖项]设置成xpcom.lib mozalloc.lib xpcomglue_s.lib nspr4.lib


7.设置VC编译选项 /Zc:wchar_t-

将[c/c++]-->[语言]-->[将wchar_t置为内置类型]设置为否


8.设置[链接器]-->[常规]-->[输出文件]为d:/xulrunner-sdk/bin/components/dll/Sample.dll


9.将此动态库加入xulrunner的组件列表中

  1.在配置文件D:/xulrunner-sdk/bin/chrome.manifest中加入一行manifest components/nsISample.manifest

  2.创建文件D:/xulrunner-sdk/bin/components/nsISample.manifest,此文件的内容为

    binary-component dll/Sample.dll


注意:如果组件如果通过静态方式调用其他动态库,那么此动态库要放在d:/xulrunner-sdk/bin目录下


二、组件的测试程序的配置


1.创建组件Sample的测试项目SampleTest

  在http://mxr.mozilla.org/mozilla-c ... com/sample/program/下载nsTestSample.cpp


2.在测试项目的预处理器中加入下列项

WIN32

_DEBUG

_CONSOLE

XP_WIN

XPCOM_GLUE


3.将[链接器]-->[输入]-->[附加依赖项]设置成xpcomglue.lib


4.设置[链接器]-->[常规]-->[输出文件]为D:/xulrunner-sdk/bin/$(ProjectName).exe

   如果$(ProjectName).exe不放在xulrunner的执行目录上会出现问题







欢迎光临 firemail (http://firemail.wang:8088/) Powered by Discuz! X3