安装
MinGW
在sourceforge官网搜索下载,下载后点击安装包mingw-get-setup.exe进行安装。安装完成后跳出MinGW Installation Manager,或者安装目录bin下点击mingw-get.exe或桌面MinGW Installer.exe快捷方式跳出MinGW Installation Manager,点击“All Packages”,右边勾选mingw32-make。
再点击菜单栏“Installation”,点击“Update Catalogue”,进行make的安装。
弹出对话框依次点击“Review Changes”和“Apply”,进行make的安装。
安装完make后,bin目录下会多出mingw32-make.exe,可以为其改名为make.exe并在Path添加bin路径的环境变量。
UnxUtils
在sourceforge官网搜索下载,将下载的压缩包解压即可。
C++ Complier、JAVA、C#和VB.NET
如果用C++开发LibreOffice SDK,那么JAVA、C#和VB.NET的安装其实可以跳过。同理,如果用JAVA开发,那么其实可以跳过C++ Complier、C#和VB.NET。不过win10会自带C#和VB.NET,配置时有需要也可以设定路径为C:\Windows\Microsoft.NET\Framework\v4.0.30319\(32位,Framework64里的为64位),其中csc.exe表示C#,vbc.exe表示VB.NET。
LibreOffice及SDK
浏览器搜索LibreOffice找到官网,点击“下载”->“下载LibreOffice”,拉到下面即可看见SDK。依次点击LibreOffice和SDK的安装包进行安装。可以在Path中为LibreOffice安装路径下的program文件夹添加环境变量,这样其中的soffice.exe就可以直接在命令行中使用。
配置
setsdkenv_windows.bat
首先在SDK的安装路径sdk\下找到setsdkenv_windows.bat,双击运行。要求输入SDK路径,可以按自动检测到的默认路径,直接回车。
要求输入LibreOffice安装路径,直接回车。
Enter the Office base installation directory [E:\LibreOffice\install]:
要求输入gmake路径。
Enter GNU make (3.79.1 or higher tools directory []:E:\MinGW\install\bin
要求输入zip、cat和sed路径。
Enter a zip (2.3 or higher) tools directory []:E:\UnxUtils\usr\local\wbin
Enter a cat (2.0 or higher) tools directory []:E:\UnxUtils\usr\local\wbin
Enter a sed (2.3 or higher) tools directory []:E:\UnxUtils\usr\local\wbin
要求输入C++编译器路径,即安装路径下cl.exe所在路径。
Enter the directory of the C++ compiler (optional) []:D:\MSVC\VS2019\2019install\install\VC\Tools\MSVC\14.16.27023\bin\HostX64\64
要求输入C#和VB.NET编译器、JAVA路径,直接回车。
Enter the directory of the C# and VB.NET compilers (optional) [C:Windows\Microsoft.NET\Framework64\v2.0.50727]:
Enter Java SDK (1.6 or higher) installation directory (optional) [E:\Java\JdkInstall]:
要求设置默认的输出文件夹。
Defualt output directory is the "c:\libreoffice7.5_sdk".
Enter an existent directory if you prefer a different one. But not that only
a path without spaces is allowed because of a limitation of gnu make. (optional) [c:\libreoffice7.5_sdk]:E:\LibreOffice\file
自动部署UNO组件,输入YES,回车则setsdkenv_windows.bat配置完毕。
Automatic deployment of UNO components (YES/NO) [YES]:YES
生成额外的头文件
SDK安装路径的sdk\include里本身已有可用的头文件,但是有些教程会额外生成。
一种方式是利用sdk\examples路径下的例子make生成,但我make失败,报错一个文件(dk.mk)找不到,但实际上该文件在对应路径下是存在的。
另一种方式是在命令行输入cppumaker -Gc -O “xxx/sdk/include” “xxx/libreoffice/program/types.rdb” “xxx/libreoffice/program/types/offapi.rdb”获得额外的头文件,获取结果是在sdk/include”路径下生成一个org文件夹。Include、types.edb、offapi.rdb按自己实际路径,如果没加环境变量,就要命令行cd到sdk/bin/cppumaker.exe路径下,实测这一步需要联网,不联网会一直停住。
E:\LibreOffice\install\sdk\bin>cppumaker -Gc -O “E:\LibreOffice\install\sdk\include” “E:\libreOffice\install\program\types.rdb” “E:\libreOffice\install\program\types\offapi.rdb”
可以将sdk\include和sdk\lib都拷贝到C++项目路径下,用VS2019打开项目并右击项目选择属性,点击“配置属性”->“VC++目录”以及“链接器”->“常规”,为拷贝进来的头文件和库设置路径;点击“链接器”->“输入”->“附加依赖项”,输入“icppu.lib;icppuhelper.lib;ipurpenvhelper.lib;isal.lib;isalhelper.lib;”。
配置完成,接下来即可使用SDK进行开发。