openoffice SDK c++开发环境的建立详细说明

参考:http://blog.csdn.net/sudaobo/article/details/2417660


这里我通过实际的应用,写一篇稍详细的。希望能有帮助。


引子


在编译doubango库时,遇到一个问题,

------ Build started: Project: telepresence (Telepresence\telepresence), Configuration: Debug Win32 ------
Compiling...
OTDocStreamer.cc
e:\work\doubangoxp\doubangoxp\telepresence\include\opentelepresence\docstreamer\otdocstreameropenoffice.h(15) : fatal error C1083: Cannot open include file: 'com/sun/star/beans/XPropertySet.hpp': No such file or directory
OTDocStreamerOpenOffice.cc
e:\work\doubangoxp\doubangoxp\telepresence\include\opentelepresence\docstreamer\otdocstreameropenoffice.h(15) : fatal error C1083: Cannot open include file: 'com/sun/star/beans/XPropertySet.hpp': No such file or directory
Generating Code...

然后,找到idl 在这里:

C:\OpenOffice40\sdk\idl\com\sun\star\beans


然后,我利用微软件的midl直接去编译,出了各种错误。在添加引用目录后,编译器说,语法不兼容。


所以,到网上找了一些解答。看了许多,这个贴子,虽然字最少,看来是最有用的,只是格式有待提高。

http://blog.csdn.net/sudaobo/article/details/2417660


详细的步骤

我的开发环境是在vmware装好的windows xp上。这是我的常用的方式。xp省地方。以及visual studio 2008

1. 下载openoffice lib和sdk。

这一点很重要!有一些贴子,忘记说明:应当先装openofficelib,然后再装sdk.

可能是他们觉得,这是自然的过程。但的确,我是走了弯路的,因为我的目标只是编译doubango库,没想到那么多。

所以,这里是一个大坑。转了我许久。


另外,网上许多贴子,目标是用于java,dot net ,等等目标,所以相当麻烦。这也是不必要的,因为我们的目标是给C++调用,只要能把那些idl编译出来就可以。


当然,这里我还是转了弯路,不应当直接编译那些idl,应当从openoffice提供的types.rdb直接生成,C语言的头文件。

这里我没有想到的原因,与前面是相同的原因:没有想到,一定要装openoffice,因为sdk中,没有types.rdb!

现在回想起来,的确是有点头晕。当然,开源的,我们也是参与者,希望以后SDK会做得全一些。


安装包的位置:https://www.openoffice.org/download/index.html

注意,选择自己想要的版本。


openoffice体系的开发,有一个重要的要点是:一切要自己来掌控,不一定要选最新的版本。

另外,openoffice和sdk的版本,要选匹配的。


这里,我是因为找到的doubango 的代码中,用的是4.0.0的版本,所以下的是4.0.0版本。


2. 安装 openoffice和sdk。

看完前面一段,就好办了许多。

因为在装完openoffice后,sdk安装时,自然会装到openoffice目录下面。

这里有一个要点,虽然我不清楚,是不是一定要必须:网上许多文章说,安装目录,一定不能有空格!

有一些怀疑的,但还是照做了,因为很可能网上说的是对的。


这里也是个大坑,装了不下四遍。

因为默认的路径:【c:\program files\openofice 4】里面有两个空格,我第一次比较懒,直接默认,第二次没有注意到openoffice 和 4之间,还有一个空格。所以再一次重装了。

因为咱们的目标是用,不要在这些地方与这些未知的但可能的情况挑战。


装好后:算了,不上图了。没有必要啊。


3. 设置环境变量

这也不是必须的。

但如果考虑到,未来你可能会改变安装目录,还是有必要的。

1)OO_SDK_PATH  设置成为:C:\OpenOffice40\sdk

2)office_programm_dir 设置成为: C:\OpenOffice40\program

3)然后,把这两个路径,加入到path中:

%OO_SDK_PATH%\bin

%office_programm_dir%

注意,如果没有把%office_programm_dir%加入到环境变量的  path中,在执行cppumaker 时,会报错,告知有dll找不到。

所以,在开工前,最好开个命令行窗口,执行一下cppumaker.


4.可以了。

准备开始做与idl相关的C语言头文件吧:


C:\OpenOffice40\sdk\bin>cppumaker -BUCR -O %OO_SDK_PATH%\includecpp %office_programm_dir%/types.rdb


有时会报错:

cppumaker : init registries failed, check your registry files.


这是因为types.rdb 的路径不对。

这里,可以直接写成:

C:\OpenOffice40\sdk\bin>cppumaker -BUCR -O %OO_SDK_PATH%\includecpp C:\OpenOffice40\program/types.rdb


等上几分钟,编译好了。然后去看一下:

C:\OpenOffice40\sdk\includecpp

是不是已有了想要的头文件:

C:\OpenOffice40\sdk\includecpp\com\sun\star\beans

里面已有了:

XPropertySet.hpp
 

好了,到这里吧。



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值