Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2099|回复: 0
打印 上一主题 下一主题

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

[复制链接]

388

主题

602

帖子

2218

积分

金牌会员

Rank: 6Rank: 6

积分
2218
跳转到指定楼层
楼主
发表于 2016-4-25 11:50:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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的执行目录上会出现问题


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-5-2 11:57 , Processed in 0.054744 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表