Difference between revisions of "Tutorial Library"
m (Moved to Category:Tutorial.) |
m |
||
| Line 12: | Line 12: | ||
We can fix that, can't we now ? :-) We look for a healthy makefile.mk from a neighbouring project, copy it over and make the modifications to fit our needs: | We can fix that, can't we now ? :-) We look for a healthy makefile.mk from a neighbouring project, copy it over and make the modifications to fit our needs: | ||
| − | < | + | <syntaxhighlight lang="cpp"> |
--- /dev/null 2004-08-25 23:04:59.000000000 +0530 | --- /dev/null 2004-08-25 23:04:59.000000000 +0530 | ||
+++ helloworld/source/makefile.mk 2005-01-10 23:34:50.363586152 +0530 | +++ helloworld/source/makefile.mk 2005-01-10 23:34:50.363586152 +0530 | ||
| Line 33: | Line 33: | ||
+ | + | ||
+.INCLUDE : target.mk | +.INCLUDE : target.mk | ||
| − | </ | + | </syntaxhighlight> |
With that information in, we indicate that we want a helloworld.obj built and issue 'build' again: | With that information in, we indicate that we want a helloworld.obj built and issue 'build' again: | ||
| − | < | + | <syntaxhighlight lang="perl"> |
build -- version: 1.130 | build -- version: 1.130 | ||
| Line 45: | Line 45: | ||
ERROR: Error 65280 occurred while making /home/raul/HEAD/ooo-build/build/src680-m65/helloworld/source | ERROR: Error 65280 occurred while making /home/raul/HEAD/ooo-build/build/src680-m65/helloworld/source | ||
| − | </ | + | </syntaxhighlight> |
So what happens is that in order to generate a file-name.obj file, dmake searches for a file-name.cxx file and in this case, unable to find the source file, throws an error and halts. | So what happens is that in order to generate a file-name.obj file, dmake searches for a file-name.cxx file and in this case, unable to find the source file, throws an error and halts. | ||
| Line 51: | Line 51: | ||
In order to move ahead, we need to provide the source of what needs to be built, and we do that: | In order to move ahead, we need to provide the source of what needs to be built, and we do that: | ||
| − | < | + | <syntaxhighlight lang="cpp"> |
--- /dev/null 2004-08-25 23:04:59.000000000 +0530 | --- /dev/null 2004-08-25 23:04:59.000000000 +0530 | ||
+++ helloworld/inc/helloworld.hxx 2005-01-10 23:27:39.148140864 +0530 | +++ helloworld/inc/helloworld.hxx 2005-01-10 23:27:39.148140864 +0530 | ||
| Line 67: | Line 67: | ||
+ }; | + }; | ||
+}; | +}; | ||
| − | </ | + | </syntaxhighlight> |
| − | < | + | <syntaxhighlight lang="cpp"> |
--- /dev/null 2004-08-25 23:04:59.000000000 +0530 | --- /dev/null 2004-08-25 23:04:59.000000000 +0530 | ||
+++ helloworld/source/helloworld.cxx 2005-01-10 23:28:42.946442048 +0530 | +++ helloworld/source/helloworld.cxx 2005-01-10 23:28:42.946442048 +0530 | ||
| Line 81: | Line 81: | ||
+ fprintf( stderr, "Hello, World! :-)\n" ); | + fprintf( stderr, "Hello, World! :-)\n" ); | ||
+} | +} | ||
| − | </ | + | </syntaxhighlight> |
The include header file provided in angle brackets causes it to be picked up from the inc/ directory at the top, if quotes were used instead, the current directory would be searched in for the header file. | The include header file provided in angle brackets causes it to be picked up from the inc/ directory at the top, if quotes were used instead, the current directory would be searched in for the header file. | ||
| Line 90: | Line 90: | ||
With that in place, we launch 'build' again: | With that in place, we launch 'build' again: | ||
| − | < | + | <syntaxhighlight lang="perl"> |
build -- version: 1.130 | build -- version: 1.130 | ||
| Line 108: | Line 108: | ||
echo unxlngi4.pro/slo/helloworld.o | xargs -n1 > ../unxlngi4.pro/slb/helloworld.lib | echo unxlngi4.pro/slo/helloworld.o | xargs -n1 > ../unxlngi4.pro/slb/helloworld.lib | ||
----------------------------------------------- | ----------------------------------------------- | ||
| − | </ | + | </syntaxhighlight> |
Yo! Houston, we have an object file :-D | Yo! Houston, we have an object file :-D | ||
| Line 114: | Line 114: | ||
hmm... But where the objective is to use this function from a different top-level project, we need a library we can link to, so let's make up a shared object library that we can link to by adding in a couple of lines to our makefile.mk: | hmm... But where the objective is to use this function from a different top-level project, we need a library we can link to, so let's make up a shared object library that we can link to by adding in a couple of lines to our makefile.mk: | ||
| − | < | + | <syntaxhighlight lang="cpp"> |
--- helloworld/source/makefile.mk.orig 2005-01-11 11:37:30.282214135 +0530 | --- helloworld/source/makefile.mk.orig 2005-01-11 11:37:30.282214135 +0530 | ||
+++ helloworld/source/makefile.mk 2005-01-11 11:37:23.945251721 +0530 | +++ helloworld/source/makefile.mk 2005-01-11 11:37:23.945251721 +0530 | ||
| Line 127: | Line 127: | ||
.INCLUDE : target.mk | .INCLUDE : target.mk | ||
| − | </ | + | </syntaxhighlight> |
The $UPD and $DLLPOSTFIX result in making up the final library as libhworld680li.so, the helloworld.lib includes the crucial symbols to link against and we 'build': | The $UPD and $DLLPOSTFIX result in making up the final library as libhworld680li.so, the helloworld.lib includes the crucial symbols to link against and we 'build': | ||
| − | < | + | <syntaxhighlight lang="perl"> |
build -- version: 1.130 | build -- version: 1.130 | ||
| Line 173: | Line 173: | ||
-rwxr-xr-x 1 raul users 7742 2005-01-11 13:14 ../unxlngi4.pro/lib/libhworld680li.so | -rwxr-xr-x 1 raul users 7742 2005-01-11 13:14 ../unxlngi4.pro/lib/libhworld680li.so | ||
----------------------------------------------- | ----------------------------------------------- | ||
| − | </ | + | </syntaxhighlight> |
We rock! :-) | We rock! :-) | ||
Latest revision as of 15:27, 26 December 2025
| Hack up a library! | Tutorial_Help |
Once build figures out the individual sub-directories that need to be built, it descends into each of the sub-directories and invokes dmake, which is the build tool that takes makefile.mk as input as to what to build. It is dmake which now launches the error that a makefile is not present.
We can fix that, can't we now ? :-) We look for a healthy makefile.mk from a neighbouring project, copy it over and make the modifications to fit our needs:
--- /dev/null 2004-08-25 23:04:59.000000000 +0530
+++ helloworld/source/makefile.mk 2005-01-10 23:34:50.363586152 +0530
@@ -0,0 +1,17 @@
+
+PRJ=..
+PRJNAME=helloworld
+TARGET=helloworld
+
+# --- Settings ----------------------------------
+
+.INCLUDE : settings.mk
+
+# --- Files -------------------------------------
+
+SLOFILES=\
+ $(SLO)$/helloworld.obj
+
+# --- Targets ----------------------------------
+
+.INCLUDE : target.mk
With that information in, we indicate that we want a helloworld.obj built and issue 'build' again:
build -- version: 1.130
/home/raul/HEAD/ooo-build/build/src680-m65/helloworld/source
dmake: Error -- `../unxlngi4.pro/slo/helloworld.obj' not found, and can't be made
'---* tg_merge.mk *---'
ERROR: Error 65280 occurred while making /home/raul/HEAD/ooo-build/build/src680-m65/helloworld/source
So what happens is that in order to generate a file-name.obj file, dmake searches for a file-name.cxx file and in this case, unable to find the source file, throws an error and halts.
In order to move ahead, we need to provide the source of what needs to be built, and we do that:
--- /dev/null 2004-08-25 23:04:59.000000000 +0530
+++ helloworld/inc/helloworld.hxx 2005-01-10 23:27:39.148140864 +0530
@@ -0,0 +1,12 @@
+namespace hello {
+
+ namespace world {
+
+ class HelloWorld {
+
+ public:
+ void adios();
+
+ };
+ };
+};
--- /dev/null 2004-08-25 23:04:59.000000000 +0530
+++ helloworld/source/helloworld.cxx 2005-01-10 23:28:42.946442048 +0530
@@ -0,0 +1,8 @@
+#include <helloworld.hxx>
+
+using namespace hello::world;
+
+void HelloWorld::adios()
+{
+ fprintf( stderr, "Hello, World! :-)\n" );
+}
The include header file provided in angle brackets causes it to be picked up from the inc/ directory at the top, if quotes were used instead, the current directory would be searched in for the header file.
[ Stephan Bergmann corrects: #include "foo" first searches through user definable include directories for foo, then, if no foo has yet been found, searches through compiler-specific include directories. #include <foo> only searches through compiler-specific include directories. (From a Standards perspective, this is not entirely precise, but should suffice here.) With all the compilers we use for OOo, we set up the command line so that all the OOo-specific include directories are added to the set of compiler-specific include directories, not to the set of user-definable include directories. Thus, there should be no difference between using #include <helloworld.hxx> and #include "helloworld.hxx". As a matter of style, I recommend using "..." for all OOo-specific headers, and <...> for the official C++ headers (<string>, <cstring>, <string.h> etc.) and system headers (<unistd.h> etc.) only. Also see the thread at http://www.openoffice.org/servlets/ReadMsg?list=dev&msgNo=8008. ]
With that in place, we launch 'build' again:
build -- version: 1.130
/home/raul/HEAD/ooo-build/build/src680-m65/helloworld/source
mkout -- version: 1.3
-----------------------------------------------
Making: ../unxlngi4.pro/misc/helloworld.dpc
dmake subdmake=true -f makefile.mk depend=t ALLDPC
Making : Dependencies
touch ../unxlngi4.pro/misc/helloworld.dpc
-----------------------------------------------
Making: ../unxlngi4.pro/slo/helloworld.obj
g++ -Wuninitialized -fmessage-length=0 -c -I. -I. -I../inc -I../inc -I../unx/inc -I../unxlngi4.pro/inc -I. -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc/stl -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc/external -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc -I/home/raul/HEAD/ooo-build/build/src680-m65/solenv/unxlngi4/inc -I/home/raul/HEAD/ooo-build/build/src680-m65/solenv/inc -I/home/raul/HEAD/ooo-build/build/src680-m65/res -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc/stl -I/home/raul/HEAD/ooo-build/build/src680-m65/solenv/inc/Xp31 -I/usr/lib/SunJava2-1.4.2/include -I/usr/lib/SunJava2-1.4.2/include/linux -I/usr/lib/SunJava2-1.4.2/include/native_threads/include -I/usr/X11R6/include -I. -I../res -I. -O1 -pipe -mcpu=pentiumpro -Wno-ctor-dtor-privacy -include preinclude.h -fno-exceptions -fpic -DLINUX -DUNX -DVCL -DGCC -DC300 -DINTEL -DGXX_INCLUDE_PATH=/usr/include/g++ -DCVER=C300 -D_USE_NAMESPACE -DGLIBC=2 -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -D__DMAKE -DUNIX -DCPPU_ENV=gcc3 -DSUPD=680 -DPRODUCT -DNDEBUG -DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DEXCEPTIONS_OFF -DCUI -DSOLAR_JAVA -DSRC680 -DSHAREDLIB -D_DLL_ -DMULTITHREAD -o ../unxlngi4.pro/slo/helloworld.o /home/raul/HEAD/ooo-build/build/src680-m65/helloworld/source/helloworld.cxx
if ( -e ../unxlngi4.pro/slo/helloworld.o) touch ../unxlngi4.pro/slo/helloworld.obj
-----------------------------------------------
Making: ../unxlngi4.pro/slb/helloworld.lib
echo unxlngi4.pro/slo/helloworld.o | xargs -n1 > ../unxlngi4.pro/slb/helloworld.lib
-----------------------------------------------
Yo! Houston, we have an object file :-D
hmm... But where the objective is to use this function from a different top-level project, we need a library we can link to, so let's make up a shared object library that we can link to by adding in a couple of lines to our makefile.mk:
--- helloworld/source/makefile.mk.orig 2005-01-11 11:37:30.282214135 +0530
+++ helloworld/source/makefile.mk 2005-01-11 11:37:23.945251721 +0530
@@ -13,6 +13,9 @@
SLOFILES=\
$(SLO)$/helloworld.obj
+SHL1TARGET= hworld$(UPD)$(DLLPOSTFIX)
+SHL1LIBS= $(SLB)$/helloworld.lib
+
# --- Targets ----------------------------------
.INCLUDE : target.mk
The $UPD and $DLLPOSTFIX result in making up the final library as libhworld680li.so, the helloworld.lib includes the crucial symbols to link against and we 'build':
build -- version: 1.130
/home/raul/HEAD/ooo-build/build/src680-m65/helloworld/source
mkout -- version: 1.3
-----------------------------------------------
Making: ../unxlngi4.pro/misc/helloworld.dpc
dmake subdmake=true -f makefile.mk depend=t ALLDPC
Making : Dependencies
touch ../unxlngi4.pro/misc/helloworld.dpc
-----------------------------------------------
Making: ../unxlngi4.pro/slo/helloworld.obj
g++ -Wuninitialized -fmessage-length=0 -c -I. -I. -I../inc -I../inc -I../unx/inc -I../unxlngi4.pro/inc -I. -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc/stl -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc/external -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc -I/home/raul/HEAD/ooo-build/build/src680-m65/solenv/unxlngi4/inc -I/home/raul/HEAD/ooo-build/build/src680-m65/solenv/inc -I/home/raul/HEAD/ooo-build/build/src680-m65/res -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc/stl -I/home/raul/HEAD/ooo-build/build/src680-m65/solenv/inc/Xp31 -I/usr/lib/SunJava2-1.4.2/include -I/usr/lib/SunJava2-1.4.2/include/linux -I/usr/lib/SunJava2-1.4.2/include/native_threads/include -I/usr/X11R6/include -I. -I../res -I. -O1 -pipe -mcpu=pentiumpro -Wno-ctor-dtor-privacy -include preinclude.h -fno-exceptions -fpic -DLINUX -DUNX -DVCL -DGCC -DC300 -DINTEL -DGXX_INCLUDE_PATH=/usr/include/g++ -DCVER=C300 -D_USE_NAMESPACE -DGLIBC=2 -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -D__DMAKE -DUNIX -DCPPU_ENV=gcc3 -DSUPD=680 -DPRODUCT -DNDEBUG -DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DEXCEPTIONS_OFF -DCUI -DSOLAR_JAVA -DSRC680 -DSHAREDLIB -D_DLL_ -DMULTITHREAD -o ../unxlngi4.pro/slo/helloworld.o /home/raul/HEAD/ooo-build/build/src680-m65/helloworld/source/helloworld.cxx
if ( -e ../unxlngi4.pro/slo/helloworld.o) touch ../unxlngi4.pro/slo/helloworld.obj
-----------------------------------------------
Making: ../unxlngi4.pro/slb/helloworld.lib
echo unxlngi4.pro/slo/helloworld.o | xargs -n1 > ../unxlngi4.pro/slb/helloworld.lib
cp -f /home/raul/HEAD/ooo-build/build/src680-m65/solenv/src/default_description.xml ../unxlngi4.pro/misc/hworld_dflt.xml
xml2cmp -func ../unxlngi4.pro/misc/hworld_dflt_description.cxx ../unxlngi4.pro/misc/hworld_dflt.xml
File ../unxlngi4.pro/misc/hworld_dflt_description.cxx with component_getDescriptionFunc() is created now.
-----------------------------------------------
Making: ../unxlngi4.pro/slo/hworld_dflt_description.obj
g++ -Wuninitialized -fmessage-length=0 -c -I. -I. -I../inc -I../inc -I../unx/inc -I../unxlngi4.pro/inc -I. -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc/stl -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc/external -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc -I/home/raul/HEAD/ooo-build/build/src680-m65/solenv/unxlngi4/inc -I/home/raul/HEAD/ooo-build/build/src680-m65/solenv/inc -I/home/raul/HEAD/ooo-build/build/src680-m65/res -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc/stl -I/home/raul/HEAD/ooo-build/build/src680-m65/solenv/inc/Xp31 -I/usr/lib/SunJava2-1.4.2/include -I/usr/lib/SunJava2-1.4.2/include/linux -I/usr/lib/SunJava2-1.4.2/include/native_threads/include -I/usr/X11R6/include -I. -I../res -I. -O1 -pipe -mcpu=pentiumpro -Wno-ctor-dtor-privacy -include preinclude.h -fno-exceptions -fpic -DLINUX -DUNX -DVCL -DGCC -DC300 -DINTEL -DGXX_INCLUDE_PATH=/usr/include/g++ -DCVER=C300 -D_USE_NAMESPACE -DGLIBC=2 -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -D__DMAKE -DUNIX -DCPPU_ENV=gcc3 -DSUPD=680 -DPRODUCT -DNDEBUG -DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DEXCEPTIONS_OFF -DCUI -DSOLAR_JAVA -DSRC680 -DSHAREDLIB -D_DLL_ -DMULTITHREAD -o ../unxlngi4.pro/slo/hworld_dflt_description.o ../unxlngi4.pro/misc/hworld_dflt_description.cxx
if ( -e ../unxlngi4.pro/slo/hworld_dflt_description.o) touch ../unxlngi4.pro/slo/hworld_dflt_description.obj
-----------------------------------------------
SHL1FILTERFILE not set!
-----------------------------------------------
dummy file to keep the dependencies for later use.
cp -f /home/raul/HEAD/ooo-build/build/src680-m65/solenv/src/version.c ../unxlngi4.pro/misc/hworld_dflt_version.c
-----------------------------------------------
Making: ../unxlngi4.pro/slo/hworld_dflt_version.obj
gcc -Wuninitialized -fmessage-length=0 -c -I. -I. -I../inc -I../inc -I../unx/inc -I../unxlngi4.pro/inc -I. -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc/dont_use_stl -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc/external -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc -I/home/raul/HEAD/ooo-build/build/src680-m65/solenv/unxlngi4/inc -I/home/raul/HEAD/ooo-build/build/src680-m65/solenv/inc -I/home/raul/HEAD/ooo-build/build/src680-m65/res -I/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/inc/dont_use_stl -I/home/raul/HEAD/ooo-build/build/src680-m65/solenv/inc/Xp31 -I/usr/lib/SunJava2-1.4.2/include -I/usr/lib/SunJava2-1.4.2/include/linux -I/usr/lib/SunJava2-1.4.2/include/native_threads/include -I/usr/X11R6/include -I. -I../res -I. -O1 -pipe -mcpu=pentiumpro -fpic -DLINUX -DUNX -DVCL -DGCC -DC300 -DINTEL -DGXX_INCLUDE_PATH=/usr/include/g++ -DCVER=C300 -D_USE_NAMESPACE -DGLIBC=2 -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -D__DMAKE -DUNIX -DCPPU_ENV=gcc3 -DSUPD=680 -DPRODUCT -DNDEBUG -DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DEXCEPTIONS_OFF -DCUI -DSOLAR_JAVA -DSRC680 -DSHAREDLIB -D_DLL_ -o ../unxlngi4.pro/slo/hworld_dflt_version.o ../unxlngi4.pro/misc/hworld_dflt_version.c
if ( -e ../unxlngi4.pro/slo/hworld_dflt_version.o) touch ../unxlngi4.pro/slo/hworld_dflt_version.obj
-----------------------------------------------
Making: ../unxlngi4.pro/lib/libhworld680li.so
gcc -O2 -Bsymbolic -z combreloc -z defs -Wl,-rpath,'$ORIGIN' -shared -L../unxlngi4.pro/lib -L../lib -L/home/raul/HEAD/ooo-build/build/src680-m65/solenv/unxlngi4/lib -L/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/lib -L/home/raul/HEAD/ooo-build/build/src680-m65/solenv/unxlngi4/lib -L/usr/lib/SunJava2-1.4.2/lib -L/usr/lib/SunJava2-1.4.2/jre/lib/i386 -L/usr/lib/SunJava2-1.4.2/jre/lib/i386/client -L/usr/lib/SunJava2-1.4.2/jre/lib/i386/native_threads -L/usr/X11R6/lib ../unxlngi4.pro/slo/hworld_dflt_version.o ../unxlngi4.pro/slo/hworld_dflt_description.o -o ../unxlngi4.pro/lib/libhworld680li.so ../unxlngi4.pro/slo/helloworld.o -ldl -lpthread -lm -Wl,-Bdynamic -lstlport_gcc -lstdc++
rm -f ../unxlngi4.pro/lib/check_libhworld680li.so
mv ../unxlngi4.pro/lib/libhworld680li.so ../unxlngi4.pro/lib/check_libhworld680li.so
/home/raul/HEAD/ooo-build/build/src680-m65/solenv/bin/checkdll.sh -L../unxlngi4.pro/lib -L../lib -L/home/raul/HEAD/ooo-build/build/src680-m65/solenv/unxlngi4/lib -L/home/raul/HEAD/ooo-build/build/src680-m65/solver/680/unxlngi4.pro/lib -L/home/raul/HEAD/ooo-build/build/src680-m65/solenv/unxlngi4/lib -L/usr/lib/SunJava2-1.4.2/lib -L/usr/lib/SunJava2-1.4.2/jre/lib/i386 -L/usr/lib/SunJava2-1.4.2/jre/lib/i386/client -L/usr/lib/SunJava2-1.4.2/jre/lib/i386/native_threads -L/usr/X11R6/lib ../unxlngi4.pro/lib/check_libhworld680li.so
Checking DLL ../unxlngi4.pro/lib/check_libhworld680li.so ...: ok
-rwxr-xr-x 1 raul users 7742 2005-01-11 13:14 ../unxlngi4.pro/lib/libhworld680li.so
-----------------------------------------------
We rock! :-)
So where would our wonderful library be ? In the intuitively named unxlngi4.pro directory under the top-level helloworld project. Why the name ? unx for the wonderful platform; lng for the operating system and compiler; i for the processor; 4 for the incremental version of compiler user and pro for product ? So based on that info wntmsci10.pro sounds logical too :-) The file specifying these is in solenv/config/ssrx645.ini and solenv/config/ssrc680.ini, though I am yet to figure out what an srx is from an src :-D
| helloworld-ooo-style.diff | Next: Tutorial_Client |