Hi folks,
with
Windows Embedded CE 6.0 Microsoft introduced the
%_WINCEROOT%\3rdParty folder. Unfortunately, very little information about this mysterious folder can be found. Hopefully, this post will shed a little light into this matter.
Usage:
You can use the
3rdParty folder for components that are independent of a specific
BSP or
OSDesign - for instance cloned components form the
PUBLIC (or the
PRIVAT) tree (e.g. the sample Internet Explorer
IESAMPLE). Of course you may also add your own components such as a new file system.
Setup:
The
%_WINCEROOT%\3rdParty folder is not part of the
Windows Embedded Compact installation so if you want to use it you have to create it manually. You also have to create at least the
CATALOG subfolder with at least one
.pbcxml file as the
3rdParty folder is automatically scanned for catalog item files:
%_WINCEROOT%\3rdParty\CATALOG. Now you are set up and ready to go.
Development considerations:Ultimately, components in the
%_WINCEROOT%\3rdParty folder are
Platform Builder subprojects. So in a first step you have to create a subproject.
If you clone a
PUBLIC (or
PRIVATE) component, first copy it to the
%_WINCEROOT%\3rdParty folder (you may use subfolders if so desired).
With your
OSDesign open, choose
Project | Add Existing Subprject… from the
Platform Builder menu.
In the appearing dialog, from the
Files of type: drop down menu choose
Sources/Dirs Files (sources;dirs). Browse to your cloned component in the
%_WINCEROOT%\3rdParty folder and select the corresponding
sources or
dirs file. The wizard now creates your subproject including files such as
.pbxml,
.bib,
.reg,
.dat,
.db…
Create a catalog item file for you component in the
%_WINCEROOT%\3rdParty\CATALOG folder.
TIP:Be sure to include the path to your subprojects
.pbxml file in the
Project tag of your catalog item file:
<project>$(_WINCEROOT)\3RDPARTY\(…).PBPXML</project>. Now you don’t have to explicitly add the subproject to each
OSDesign via the
Project | Add Existing Subprject… Platform Builder menu. Simply checking your catalog item does the trick for you.
Modify your cloned code according to your needs. Be sure to set
RELEASETYPE=LOCAL in every
sources file inside the
%_WINCEROOT%\3rdParty folder (this can also be done globally in the
sources.cmn file). This specifies that the build output (
.lib,
.dll or
.exe) will be places directely under your components
obj folder.
Caution:
As mentioned,
3rdParty components are
Platform Builder Subprojects. There are certain restrictions to
Platform Builder subprojects, therefore not every component can be built as a subproject. Hence, you might also consider using a
Smart Device project or cloning the component directly in your
BSP instead of using the
%_WINCEROOT%\3rdParty folder.
Have fun!
Read more!
Post this to a friend!