I've finally begun with this C++ "tongue" (note for english speakers: in spanish we use the same word for both "tongue" and "language"
). This is going to be a nightmare for everybody: me as a novice C++ coder and you unwary supporters
. Well, these are my problems and suggestions:
a) Compiling is somewhat painful:
$ cp -a /usr/lib/pixinsight/source/modules/processes/Geometry . ## copy tree to my working directory
$ cd Geometry/Release
$ make
[ blah blah, compilation successful ]
$ rm libGeometry-pm32.so
$ make
make: Nothing to be done for `ChannelMatchInstance.d'.
Erm, no, of course there's nothing to be done for
that file, but there's
another missing file and I want it back!
$ rm ChannelMatchInstance.d
$ make
make: Nothing to be done for `ChannelMatchInterface.d'.
Hmm... so do I have to 'make clean' everytime and rebuild the entire module, just to find that I forgot that typical semicolon (Murphy will take care of that) and have to rebuild again? (side note: I use vim for coding, so guess what I think of those fancy IDEs
).
b) Wasn't able to "reduce" or "strip" the module. I edited subdir.mk and removed all references to source files except for ChannelMatch*.*. Compiled and tried to load the module in PixInsight (after disabling the original Geometry-pm32.so) but the application doesn't find it. I guess that the module lacks some hooks and thus the application refuses to load it.
c) When loading a module in PixInsight, I have to type the path to my working directory every time I launch the "Install modules" dialog. It would be nice that the application remembered this, and the state of the "Recursive" checkbox too. My working directory doesn't appear in the drop-down after searching.
d) Anyway, just inserted a comment in ChannelMatchInstance.cpp. Compilation successful, but when I try to load it, PixInsight throws an "Unknown exception" (by running xmessage) and then "Module initialization failed: Exit code: 1" (in a PixInsight dialog).
My general impression about this is that my javascript evenings are by far more productive than this ;^).