Difference between revisions of "SDKInstallation"
(→Installation under Mac OS X: adding next step links) |
|||
(21 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{DocBanner}} |
− | |||
= How to install the SDK and compile the C++ examples = | = How to install the SDK and compile the C++ examples = | ||
− | + | The following points are important, if you want to succeed in building C++ components and snippets: | |
− | * | + | * You need to have {{AOo}} and {{AOo}} SDK in the identical version |
− | * | + | * You need to install the SDK into a directory other than the one of the AOO application |
+ | * It is strongly recommended to install the newest Java JDK on your system | ||
+ | * Make your operating system up to date | ||
+ | * If you have questions, use your preferred search engine first. If this not works visit: https://forum.openoffice.org to get help. | ||
== Installation under Mac OS X == | == Installation under Mac OS X == | ||
− | {{ | + | {{Mac| |
− | The text below describes the installation of the SDK 4.1.0 and | + | The text below describes the installation of the SDK 4.1.0 and {{AOo}} 4.1.0 on Mac OS X 10.9.4 with Xcode 4.1.1. It would works for other Intel Mac configurations too. |
* Install Xcode. You can get it from the Apple App Store. Perhaps you must be registered as Mac developer under https://developer.apple.com | * Install Xcode. You can get it from the Apple App Store. Perhaps you must be registered as Mac developer under https://developer.apple.com | ||
− | * Install newest OpenOffice and the corresponding SDK from | + | * Install newest OpenOffice and the corresponding SDK from https://openoffice.apache.org/downloads.html (Choose MacOS_x86-64) |
− | * (Optional) Install MacPorts from | + | * (Optional) Install MacPorts from https://www.macports.org. You need MacPorts to install optional Unix-like software needed by the SDK. |
* Test the SDK. Open a terminal and look for the SDK folder. Now type and run: | * Test the SDK. Open a terminal and look for the SDK folder. Now type and run: | ||
<pre> | <pre> | ||
Line 24: | Line 26: | ||
If everything went fine, you should see a new document, with the content of <SDK_Folder>/examples/cpp/DocumentLoader/test.odt. | If everything went fine, you should see a new document, with the content of <SDK_Folder>/examples/cpp/DocumentLoader/test.odt. | ||
− | Further informations see: | + | Further informations see: https://www.openoffice.org/api/SDK/ and [[Documentation/DevGuide]] |
− | Its recommended to use Eclipse or Netbeans to develop with OpenOffice SDK. There are plugins for booth. | + | Its recommended to use Eclipse or Netbeans to develop with OpenOffice SDK. There are plugins for booth, but they don't support C++ programming. Feel free to help adding this feature: For Eclipse visit [[OpenOffice_Eclipse_Integration]]. For Netbeans visit [[OpenOffice_NetBeans_Integration]]. |
− | For Eclipse visit | + | |
− | For Netbeans visit | + | To work with the SDK and C++ use an editor of your choice. |
}} | }} | ||
== Installation under LINUX == | == Installation under LINUX == | ||
− | {{ | + | {{Lin| |
− | The text below describe the installation of the SDK | + | The text below describe the installation of the SDK 4.1.0 for {{AOo}} 4.1.0 under Ubuntu. |
− | + | * Make sure you have development tools installed: | |
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
− | + | sudo aptitude install gcc make build-essential | |
</pre> | </pre> | ||
− | + | * Install newest OpenOffice and the corresponding SDK from https://openoffice.apache.org/downloads.html or type and run | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
− | + | sudo aptitude install openoffice.org openoffice.org-dev openoffice.org-dev-doc | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | + | * Test the SDK. Open a terminal and look for the SDK folder. Now type and run: | |
− | |||
− | . | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
+ | cd <SDK_Folder> | ||
+ | ./setsdkenv_unix # Need to run every time before you use the SDK | ||
+ | cd examples/cpp/DocumentLoader | ||
make | make | ||
− | + | soffice "-accept=socket,host=localhost,port=2083;urp;StarOffice.ServiceManager" & | |
− | |||
− | |||
make DocumentLoader.run | make DocumentLoader.run | ||
</pre> | </pre> | ||
− | + | If everything went fine, you should see a new document, with the content of <SDK_Folder>/examples/cpp/DocumentLoader/test.odt. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Further informations see: https://www.openoffice.org/api/SDK/ and [[Documentation/DevGuide]] | |
− | + | Its recommended to use Eclipse or Netbeans to develop with OpenOffice SDK. There are plugins for booth, but they don't support C++ programming. Feel free to help adding this feature: For Eclipse visit [[OpenOffice_Eclipse_Integration]]. For Netbeans visit [[OpenOffice_NetBeans_Integration]]. | |
− | |||
− | |||
− | + | Bear in mind the easier way to construct the examples of the SDK is to use the makefiles provided. If you want to start a project, begin with modifying an example of the SDK. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
+ | {{NeedsRework|EN}} | ||
== Installation under Windows == | == Installation under Windows == | ||
− | {{ | + | {{Win| |
− | You need a compiler out of the Microsoft Visual Studio family (other compilers like MinGW have turned out to be hard to configure for | + | You need a compiler out of the Microsoft Visual Studio family (other compilers like MinGW have turned out to be hard to configure for AOO on Windows). |
The first thing after having installed the SDK is to launch the configureWindowsNT.bat and set all the necessary directories for proper use of the SDK. | The first thing after having installed the SDK is to launch the configureWindowsNT.bat and set all the necessary directories for proper use of the SDK. | ||
If that has been done you have already installed everything, but *wait* one very important thing you should still know of: | If that has been done you have already installed everything, but *wait* one very important thing you should still know of: | ||
Line 189: | Line 84: | ||
}} | }} | ||
− | === Installing with the free MS Visual C++ Toolkit | + | === Installing with the free MS Visual C++ Toolkit === |
− | |||
I have installed DevCpp to have a make executable file. | I have installed DevCpp to have a make executable file. | ||
− | I have downloaded the free Visual C++ Toolkit | + | I have downloaded the free Visual C++ Toolkit here : |
− | + | https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170 | |
+ | |||
+ | and then I have installed it. | ||
− | + | {{Note|Not quite clear which MS Visual C++ Toolkit is needed nowadays for the latest builds. That is why the | |
+ | Toolkit is addressed as "Toolkit nnnn" where "nnnn" should be a year}} | ||
I launch first C:\openoffice\OpenOffice.org2.0_SDK\configureWindowsNT.bat | I launch first C:\openoffice\OpenOffice.org2.0_SDK\configureWindowsNT.bat | ||
Line 201: | Line 98: | ||
<pre> | <pre> | ||
set OO_SDK_HOME=C:\openoffice\OpenOffice.org2.0_SDK | set OO_SDK_HOME=C:\openoffice\OpenOffice.org2.0_SDK | ||
− | set OFFICE_HOME=C:\Program Files\OpenOffice.org 2.0 | + | set OFFICE_HOME=C:\Program Files (x86)\OpenOffice.org 2.0 |
set OO_SDK_MAKE_HOME=C:\Dev-C++\Bin | set OO_SDK_MAKE_HOME=C:\Dev-C++\Bin | ||
− | set OO_SDK_CPP_HOME=C:\Program Files\Microsoft Visual C++ Toolkit | + | set OO_SDK_CPP_HOME=C:\Program Files\Microsoft Visual C++ Toolkit nnnn\Bin |
set OO_SDK_JAVA_HOME=C:\Program Files\Java\jdk1.5.0_03 | set OO_SDK_JAVA_HOME=C:\Program Files\Java\jdk1.5.0_03 | ||
</pre> | </pre> | ||
Line 216: | Line 113: | ||
added : | added : | ||
<pre> | <pre> | ||
− | CC_INCLUDES = -I"C:\Program Files\Microsoft Visual C++ Toolkit | + | CC_INCLUDES = -I"C:\Program Files\Microsoft Visual C++ Toolkit nnnn\include" \ |
-I"C:\openoffice\OpenOffice.org2.0_SDK\include" | -I"C:\openoffice\OpenOffice.org2.0_SDK\include" | ||
</pre> | </pre> | ||
Line 229: | Line 126: | ||
$(LINK) $(EXE_LINK_FLAGS) /OUT:$@ /MAP:$(SAMPLE_GEN_OUT)/$(subst $(EXE_EXT),.map,$(@F)) \ | $(LINK) $(EXE_LINK_FLAGS) /OUT:$@ /MAP:$(SAMPLE_GEN_OUT)/$(subst $(EXE_EXT),.map,$(@F)) \ | ||
$< $(CPPUHELPERLIB) $(CPPULIB) $(SALHELPERLIB) $(SALLIB) $(STLPORTLIB)\ | $< $(CPPUHELPERLIB) $(CPPULIB) $(SALHELPERLIB) $(SALLIB) $(STLPORTLIB)\ | ||
− | "C:\Program Files\Microsoft Visual C++ Toolkit | + | "C:\Program Files\Microsoft Visual C++ Toolkit nnnn\lib\libcp.lib" \ |
− | "C:\Program Files\Microsoft Visual C++ Toolkit | + | "C:\Program Files\Microsoft Visual C++ Toolkit nnnn\lib\libc.lib" \ |
− | "C:\Program Files\Microsoft Visual C++ Toolkit | + | "C:\Program Files\Microsoft Visual C++ Toolkit nnnn\lib\oldnames.lib" \ |
− | "C:\Program Files\Microsoft Visual C++ Toolkit | + | "C:\Program Files\Microsoft Visual C++ Toolkit nnnn\lib\kernel32.lib" |
else | else | ||
$(LINK) $(EXE_LINK_FLAGS) $(LINK_LIBS) -o $@ $< \ | $(LINK) $(EXE_LINK_FLAGS) $(LINK_LIBS) -o $@ $< \ | ||
Line 244: | Line 141: | ||
<pre> | <pre> | ||
REM Set environment for C++ compiler tools, if necessary. | REM Set environment for C++ compiler tools, if necessary. | ||
− | if defined OO_SDK_CPP_HOME call "C:\Program Files\Microsoft Visual C++ Toolkit | + | if defined OO_SDK_CPP_HOME call "C:\Program Files\Microsoft Visual C++ Toolkit nnnn\VCVARS32.bat" |
</pre> | </pre> | ||
Line 257: | Line 154: | ||
</pre> | </pre> | ||
could work too (but not checked). You can also move vcvars32.bat in %OO_SDK_CPP_HOME% | could work too (but not checked). You can also move vcvars32.bat in %OO_SDK_CPP_HOME% | ||
− | ("C:\Program Files\Microsoft Visual C++ Toolkit | + | ("C:\Program Files\Microsoft Visual C++ Toolkit nnnn\bin" for me). |
=== Other Windows Installations descriptions === | === Other Windows Installations descriptions === | ||
− | You can find in [http://www.oooforum.org/forum/viewtopic.phtml?t=23772 OOoForum] a post entitled Guide for develop OpenOffice apps with VC++ .net (by [[CppSDKAuthors|LarsB]]) | + | You can find in [https://web.archive.org/web/20130825024609/http://www.oooforum.org/forum/viewtopic.phtml?t=23772 old, now deprecated, OOoForum] a post entitled Guide for develop OpenOffice apps with VC++ .net (by [[CppSDKAuthors|LarsB]]) |
1.Download and install OpenOffice. | 1.Download and install OpenOffice. | ||
Line 357: | Line 254: | ||
</pre> | </pre> | ||
− | The DocumentLoader.rdb was missing ... I noticed that if I compiled the DocumentLoader | + | The DocumentLoader.rdb was missing ... I noticed that if I compiled the DocumentLoader examples from commandline with the makefile provided with the example a DocumentLoader.rdb was generated. I had a look at the Makefile I isolated the lines which seemed to generate the DocumentLoader.rdb into my Debug folder (or wherever you set your DocumentLoader.exe to be put by Visual Studio) in my Visual Studio project... |
<pre> | <pre> | ||
Line 368: | Line 265: | ||
</pre> | </pre> | ||
− | I launched all the above lines in the prompt shell and it worked I had my DocumentLoader.rdb in my Debug folder | + | I launched all the above lines in the prompt shell, and it worked I had my DocumentLoader.rdb in my Debug folder |
− | I launched my exe file and it worked, great... | + | I launched my .exe file, and it worked, great... |
− | Now I guess I still need to figure out which *.uno.dll needs to be included for which functions used in the | + | Now I guess I still need to figure out which *.uno.dll needs to be included for which functions used in the program, but still it's a good start. |
− | If anyone has any information about that (It may | + | If anyone has any information about that (It may actually be documented somewhere) don't hesitate) |
== The Development Tools of the SDK == | == The Development Tools of the SDK == | ||
Line 386: | Line 283: | ||
* [[FR/Documentation/Installation_du_SDK|French version of this chapter]]. | * [[FR/Documentation/Installation_du_SDK|French version of this chapter]]. | ||
* [[Uno/Cpp/Tutorials/Introduction_to_Cpp_Uno|C++ and UNO tutorial]] | * [[Uno/Cpp/Tutorials/Introduction_to_Cpp_Uno|C++ and UNO tutorial]] | ||
− | * [ | + | * [https://www.codeproject.com/KB/wtl/Wtl_OOo.aspx Prepare the OOo SDK] |
* [http://www.oooforum.org/forum/viewtopic.phtml?t=79911&highlight= missing files in sdk] | * [http://www.oooforum.org/forum/viewtopic.phtml?t=79911&highlight= missing files in sdk] | ||
− | * Writing a Program to Control OpenOffice.org, by Franco Pingiori — [ | + | * Writing a Program to Control OpenOffice.org, by Franco Pingiori — [https://www.linuxjournal.com/article/8550 Part 1] and [https://www.linuxjournal.com/article/8608 Part 2], Linux Journal |
[[Category:Tutorial]] | [[Category:Tutorial]] | ||
[[Category:Cpp]] | [[Category:Cpp]] | ||
[[Category:Uno]] | [[Category:Uno]] |
Latest revision as of 13:56, 24 August 2022
How to install the SDK and compile the C++ examples
The following points are important, if you want to succeed in building C++ components and snippets:
- You need to have Apache OpenOffice and Apache OpenOffice SDK in the identical version
- You need to install the SDK into a directory other than the one of the AOO application
- It is strongly recommended to install the newest Java JDK on your system
- Make your operating system up to date
- If you have questions, use your preferred search engine first. If this not works visit: https://forum.openoffice.org to get help.
Installation under Mac OS X
The text below describes the installation of the SDK 4.1.0 and Apache OpenOffice 4.1.0 on Mac OS X 10.9.4 with Xcode 4.1.1. It would works for other Intel Mac configurations too.
cd <SDK_Folder> ./setsdkenv_unix # Need to run every time before you use the SDK cd examples/cpp/DocumentLoader make soffice "-accept=socket,host=localhost,port=2083;urp;StarOffice.ServiceManager" & make DocumentLoader.run If everything went fine, you should see a new document, with the content of <SDK_Folder>/examples/cpp/DocumentLoader/test.odt. Further informations see: https://www.openoffice.org/api/SDK/ and Documentation/DevGuide Its recommended to use Eclipse or Netbeans to develop with OpenOffice SDK. There are plugins for booth, but they don't support C++ programming. Feel free to help adding this feature: For Eclipse visit OpenOffice_Eclipse_Integration. For Netbeans visit OpenOffice_NetBeans_Integration. To work with the SDK and C++ use an editor of your choice. |
Installation under LINUX
The text below describe the installation of the SDK 4.1.0 for Apache OpenOffice 4.1.0 under Ubuntu.
sudo aptitude install gcc make build-essential
sudo aptitude install openoffice.org openoffice.org-dev openoffice.org-dev-doc
cd <SDK_Folder> ./setsdkenv_unix # Need to run every time before you use the SDK cd examples/cpp/DocumentLoader make soffice "-accept=socket,host=localhost,port=2083;urp;StarOffice.ServiceManager" & make DocumentLoader.run If everything went fine, you should see a new document, with the content of <SDK_Folder>/examples/cpp/DocumentLoader/test.odt. Further informations see: https://www.openoffice.org/api/SDK/ and Documentation/DevGuide Its recommended to use Eclipse or Netbeans to develop with OpenOffice SDK. There are plugins for booth, but they don't support C++ programming. Feel free to help adding this feature: For Eclipse visit OpenOffice_Eclipse_Integration. For Netbeans visit OpenOffice_NetBeans_Integration. Bear in mind the easier way to construct the examples of the SDK is to use the makefiles provided. If you want to start a project, begin with modifying an example of the SDK. |
{{#vardefine:v1|0}}
{{#if:
| {{#vardefine:v1|{{#expr:{{#var:v1}}+1}}}} |
}}{{#ifexist:{{#rel2abs: ../preload}}
| {{#vardefine:v1|{{#expr:{{#var:v1}}+1}}}} |
}}{{#ifexist:{{#rel2abs: ../preload1}}
| {{#vardefine:v1|{{#expr:{{#var:v1}}+1}}}} |
}}{{#ifexist:{{#rel2abs: ../preload2}}
| {{#vardefine:v1|{{#expr:{{#var:v1}}+1}}}} |
}}{{#ifexist:{{#rel2abs: ../preload3}}
| {{#vardefine:v1|{{#expr:{{#var:v1}}+1}}}} |
}}{{#ifexist:{{#rel2abs: ../preload4}}
| {{#vardefine:v1|{{#expr:{{#var:v1}}+1}}}} |
}}{{#ifexist:{{#rel2abs: ../preload5}}
| {{#vardefine:v1|{{#expr:{{#var:v1}}+1}}}} |
}}{{#ifexist:{{#rel2abs: ../preload6}}
| {{#vardefine:v1|{{#expr:{{#var:v1}}+1}}}} |
}}{{#ifexist:{{#rel2abs: ../preload7}}
| {{#vardefine:v1|{{#expr:{{#var:v1}}+1}}}} |
}}{{#ifexist:{{#rel2abs: ../Template:NeedsRework}}
| {{#vardefine:v1|{{#expr:{{#var:v1}}+1}}}} |
}}{{#ifexist:{{#rel2abs: ../../rules/templates}}
| {{#vardefine:v1|{{#expr:{{#var:v1}}+1}}}} |
}}{{#ifexpr:{{#expr:{{#var:v1}}>0}}
| |
}}
{{#switch:EN | RU = Эта статья должна быть проверена на точность и соответствие стилю. | UA = Ця стаття повинна бути перевірена на точність і відповідність стилю. | EN = This article should be checked for accuracy and conformity to style. | PT = Este artigo deve ser verificado quanto à precisão e conformidade ao estilo. | #default = Эта статья должна быть проверена на точность и соответствие стилю. (This article should be checked for accuracy and conformity to style) }}
Installation under Windows
Installing with the free MS Visual C++ Toolkit
I have installed DevCpp to have a make executable file. I have downloaded the free Visual C++ Toolkit here : https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170
and then I have installed it.
Not quite clear which MS Visual C++ Toolkit is needed nowadays for the latest builds. That is why the
Toolkit is addressed as "Toolkit nnnn" where "nnnn" should be a year |
I launch first C:\openoffice\OpenOffice.org2.0_SDK\configureWindowsNT.bat which asks any questions :
set OO_SDK_HOME=C:\openoffice\OpenOffice.org2.0_SDK set OFFICE_HOME=C:\Program Files (x86)\OpenOffice.org 2.0 set OO_SDK_MAKE_HOME=C:\Dev-C++\Bin set OO_SDK_CPP_HOME=C:\Program Files\Microsoft Visual C++ Toolkit nnnn\Bin set OO_SDK_JAVA_HOME=C:\Program Files\Java\jdk1.5.0_03
and I am ready to launch setsdkenv_windows.bat
I have modified the following file : C:\openoffice\OpenOffice.org2.0_SDK\examples\DevelopersGuide\ProfUNO\CppBinding\office_connect.cxx to change the port accordingly to what OOo is listening.
I have modified the makefile : added :
CC_INCLUDES = -I"C:\Program Files\Microsoft Visual C++ Toolkit nnnn\include" \ -I"C:\openoffice\OpenOffice.org2.0_SDK\include"
and added libraries too :
$(OUT_BIN)/%$(EXE_EXT) : $(SAMPLE_OBJ_OUT)/%.$(OBJ_EXT) -$(MKDIR) $(subst /,$(PS),$(@D)) -$(MKDIR) $(subst /,$(PS),$(SAMPLE_GEN_OUT)) ifeq "$(OS)" "WIN" $(LINK) $(EXE_LINK_FLAGS) /OUT:$@ /MAP:$(SAMPLE_GEN_OUT)/$(subst $(EXE_EXT),.map,$(@F)) \ $< $(CPPUHELPERLIB) $(CPPULIB) $(SALHELPERLIB) $(SALLIB) $(STLPORTLIB)\ "C:\Program Files\Microsoft Visual C++ Toolkit nnnn\lib\libcp.lib" \ "C:\Program Files\Microsoft Visual C++ Toolkit nnnn\lib\libc.lib" \ "C:\Program Files\Microsoft Visual C++ Toolkit nnnn\lib\oldnames.lib" \ "C:\Program Files\Microsoft Visual C++ Toolkit nnnn\lib\kernel32.lib" else $(LINK) $(EXE_LINK_FLAGS) $(LINK_LIBS) -o $@ $< \ $(CPPUHELPERLIB) $(CPPULIB) $(SALHELPERLIB) $(SALLIB) $(STLPORTLIB) $(STDC++LIB) endif
I suppose there is a more straightforward way to add these libraries with adding the corresponding include path but I am unable to do that with VC++.
I find a solution of the previous problem three weeks later. My problem comes in fact from a bug in setsdkenv_windows.bat. A little correction in the file setsdkenv_windows.bat makes it possible to avoid the makefile modifications : Put :
REM Set environment for C++ compiler tools, if necessary. if defined OO_SDK_CPP_HOME call "C:\Program Files\Microsoft Visual C++ Toolkit nnnn\VCVARS32.bat"
instead of :
REM Set environment for C++ compiler tools, if necessary. if defined OO_SDK_CPP_HOME call "%OO_SDK_CPP_HOME%\VCVARS32.bat"
I think
%OO_SDK_CPP_HOME%\..\VCVARS32.bat
could work too (but not checked). You can also move vcvars32.bat in %OO_SDK_CPP_HOME% ("C:\Program Files\Microsoft Visual C++ Toolkit nnnn\bin" for me).
Other Windows Installations descriptions
You can find in old, now deprecated, OOoForum a post entitled Guide for develop OpenOffice apps with VC++ .net (by LarsB)
1.Download and install OpenOffice.
2.Download and install OpenOffice SDK
3.Create a new folder inludecpp in <oo_sdk_path>
4.Open Dos console change directory to <oo_sdk_path>\windows\bin
4.1 run cppumaker with followig paramerers
cppumaker -BUCR -O <oo_sdk_path>\includecpp <office_programm_dir>\types.rdb
or better with
cppumaker -Gc -BUCR -O<includes_path> <ooffice_path>\URE\misc\types.rdb <ooffice_path>\Basis\program\offapi.rdb
in recent versions.
(Attention: If you recieve a init error, copy types.rdb into the <oo_sdk_path>\windows\bin folder!) After that all hpp and hdl files should be created in <oo_sdk_path>\includecpp
5.Open Visual Studio and create a new Win32 Console Application. Applay the following changes to your project.
5.1. Tools ->Options->Projects->VC++ Directories -> Include Files Add \include directory and <oo_sdk_path>\includecpp
5.2. Tools ->Options->Projects->VC++ Directories -> Library files Add <oo_sdk_path>\windows\lib directory
5.3. Tools ->Options->Projects->VC++ Directories -> Executable files Add <office_programm_dir>\program directory (location where you installed the version of the OpenOffice)
5.4 Open the Project Settings
5.4.1 Change Configuration to all All Configurations (the combobox in the left corner of the window)
5.4.2 Add the additional libraries
Properties->Linker->ComandLine in the Additional Options tab the library files isal.lib icppu.lib icppuhelper.lib isal.lib isalhelper.lib ireg.lib irmcxt.lib stlport_vc71.lib
6.(example) Add the DocumentLoader.cxx from the cpp examples of the sdk and compile. The source should compile without errors.
INFO : If you got the following error have a look at the solution 2 postings above! Up to now, with the steps above i got the following error, when i run the DocumentLoader example. The error is thrown, when the prog execution reach the following line:
Reference< XSimpleRegistry > xSimpleRegistry( ::cppu::createSimpleRegistry() );
with error shown below :
Error: Window title: Microsoft Visual C++ Debug Library Headline: Debug Error Msg: This application has requested the Runtime to terminate it in an usual way. Please contact the support team for more information.
If somebody has experience with this kind of error it will be nice if he could post a solution. So that here is a complete little guide for OpenOffice with VC++ .NET
Regards Lars
François has improved the complete procedure with remarks : Following all the steps I (_francois_) encountered two problems
- first in point 4.4.2
But there I guess it's because the procedure was meant for SDK 2 and I'm using SDK 1.1 The stlport_vc71.lib which you must include is distributed with the SDK 2 in the SDK 1.1 stlport_vc7.lib you just need to include the stlport_vc7.lib instead of stlport_vc71.lib
- second problem after successfuly compiling the DocumentLoader in Visual Studio I was getting the following error
Error:
Window title: Microsoft Visual C++ Debug Libary Headline: Debug Error Msg: This application has requested the Runtime to terminate it in an usual way. Please contact the support team for more information.
After going on debug in the visual studio I found the following line was responsible
xSimpleRegistry->open( OUString( RTL_CONSTASCII_USTRINGPARAM("DocumentLoader.rdb") ), sal_True, sal_False );
The DocumentLoader.rdb was missing ... I noticed that if I compiled the DocumentLoader examples from commandline with the makefile provided with the example a DocumentLoader.rdb was generated. I had a look at the Makefile I isolated the lines which seemed to generate the DocumentLoader.rdb into my Debug folder (or wherever you set your DocumentLoader.exe to be put by Visual Studio) in my Visual Studio project...
regmerge c:\travail\DocumentLoader\debug\DocumentLoader.rdb / "C:\ooo\office\program\types.rdb" regcomp -register -r c:\travail\DocumentLoader\debug\DocumentLoader.rdb -c connector.uno.dll regcomp -register -r c:\travail\DocumentLoader\debug\DocumentLoader.rdb -c remotebridge.uno.dll regcomp -register -r c:\travail\DocumentLoader\debug\DocumentLoader.rdb -c bridgefac.uno.dll regcomp -register -r c:\travail\DocumentLoader\debug\DocumentLoader.rdb -c uuresolver.uno.dll
I launched all the above lines in the prompt shell, and it worked I had my DocumentLoader.rdb in my Debug folder
I launched my .exe file, and it worked, great...
Now I guess I still need to figure out which *.uno.dll needs to be included for which functions used in the program, but still it's a good start. If anyone has any information about that (It may actually be documented somewhere) don't hesitate)
The Development Tools of the SDK
There are several development tools provided with the SDK : idlc, cppumaker, javamaker, rdbmaker, pkgchk, regcomp, regmerge, regview, xml2cmp, uno, and autodoc. You can find a short documentation on these tools at <OOo_SDK>/docs/tools.html and also in Developer's Guide.
See also Compiler versions used by port maintainers and release engineers
See also
- French version of this chapter.
- C++ and UNO tutorial
- Prepare the OOo SDK
- missing files in sdk
- Writing a Program to Control OpenOffice.org, by Franco Pingiori — Part 1 and Part 2, Linux Journal