现在我们已经可以用make工具编译sdk里面自带的例子了。
1.首先在命令行下运行 C:/Documents and Settings/<username>/Application Data/%OO_SDK_NAME%/setsdkenv_windows.bat 这个批处理,也就是之前提到的,自动生成的那个批处理。这个批处理会设置好sdk的路径和环境变量。
2.把路径定位到你想编译的一个例子里,比如我就是 cd C:/OOSDK/sdk/examples/CLI/CSharp/Spreadsheet
3.执行命令 mingw32-make
4.编译完成,会在你先前设置的输出文件夹下生成可执行程序等文件。
我 这里编译的例子并不是C++的,而是一个C#的例子,是使用SpreadSheet接口进行Calc工具开发的例子。这个例子是一个最直接的,关于如何使 用相关接口生成一个电子表格文档的非常好的范例。可惜它是C#的,为什么没有C++的这方面的例子呢,再次鄙视OpenOffice相关人等。
在 sdk的examples目录下还有很多C++和用其他语言写的例子,也可以用上面的方法进行编译。我并没有试过所有的例子,可能你在编译的过程中会遇到 一些问题,这个只能靠你查文档了。我觉得,最主要的是看它的代码是怎么写的,因为我们需要自己写工程,而我在后面会详细讲怎么自己写工程。
如果你编译了它的例子,你会发现,在输出路径下,还输出了一些头文件和库文件,而且这些头文件在sdk下的include文件夹里面还没有,是新生成出来的。这真是一个恶心的事情,我就深受其害。
一 般来说,当你下载了一个sdk,想要自己写工程的话,会首先去查看一个例子,然后找到它需要的头文件,再看看需要哪些库文件。你把该例子的代码,头文件, 库文件都加到自己新建的工程里去,一般就可以编译运行了。而这招在这里完全行不通,因为sdk目录下include文件夹根本就没有包含所有的头文件,相 反只有很少一点。而例子里面的头文件都是用makefile编译时临时生成的!而且就算头文件有了,你的工程生成的.exe在运行时也会产生error, 会提示你说sal3.dll等一堆dll找不到,总之很是郁闷。
也就是说,你必须把那些例子的makefile里面所包括的编译选项都要翻 译到你的工程设置里面才能行。那么究竟要怎么自己写工程呢?像我这种对makefile不熟悉的人应该也不少吧,而且我还能看懂makefile,但是我 不想写,太麻烦了!尤其是工程大了之后管理更加麻烦,既然有IDE,为什么不用呢?
在下一节里面,会介绍我辛苦得出的方法,用这个方法可以简单快捷地在vs2005里面建立自己的C++ w32工程,用OpenOffice sdk进行开发。大家看了这个方法,就不用走弯路去调设置了,可以完全把主要精力放在分析sdk代码本身上。
(待续)