Wednesday, August 6, 2008

Work progress 6 August

Worked at compiling the Wrappers having the OCAF packages included.
It seems that the linker gives errors because of the big number of files and has not enough memory to link everything.

The investigated solutions are the following:
- make the OCAF module as a separate assembly. On this solution the problem is that the base classes (that have a native pointer as member) are located in a different assembly and the base classes symbols need to be exported explicitly. Added the exporting pragmas, the symbols are properly exported but the problem continues: more errors are generated the cause being some inconsistent attribute errors. Solutions found on Internet on this problem are not applicable on this amount of files automatically generated. This path needs more research,
- another solution would be to disable Whole Program Optimization so that the Optimizations are made in the compiler instead of the linker requiring less memory (but also the assmbly is optimized less). Succeeded to build a full wrapper in release mode using this compiling configuration. Will try also to build it in debug mode.

Because the Solution 1 needs a lot of research (possibly can take 1-2 weeks and there is possibility not to work) and because the wrappers are not the product that we focus on, decided to use Solution 2 to build the dll with WPO off as a temporary solution that allows us to move forward with NaroCAD development.

Will continue with cleaning and uploading the code, prepare the wrapper dlls to be used by Naro (in release and debug mode), build Naro with the new wrappers and check the running speed, update the documentation about the project and how to build it, tasks estimated to take 2 days.

No comments: