Problems with Toolbox Compilation

Harald Galda, Dr. Eng. (J) haraldgalda at yahoo.com
Fri Oct 7 14:13:13 CEST 2011


Dear Scilab users,

I uploaded a new version of IPD toolbox yesterday. The toolbox works on Windows for both 32 bit and 64 bit architectures, but there are the following problems:

1. The ATOMS GUI of Scilab does not offer the new version for download. When I tried to install the toolbox, an older version was installed.

2. I can not download the 32 bit package. Google Chrome does not download the 32 bit package at all whereas Internet Explorer downloads an empty ZIP file.

3. The 64 bit package has a build log file, but the 32 bit package has not.

The problems mentioned above have never occured in previous versions.

Another problem has been there since the very beginning: the C++ compiler on Linux does not compile my class templates. There is the following class hierarchy:

- CFilter<GrayValueType>

-- CMaskFilterTemplate<GrayValueType>
--- CLinearFilter<GrayValueType>
--- CMedian<GrayValueType>
--- CVariance<GrayValueType>

-- CMorphologicalFilterTemplate<GrayValueType>
--- CErosion<GrayValueType>
--- CDilation<GrayValueType>

When a sub class accesses protected members of a super class, there is the error message that the identifiers would not be declared in the current scope. I once added "CFilter<GrayValueType>::" before the respective identifiers and I submitted the modified sources. But then the toolbox can no longer be built on 32 bit Windows. Therefore, I disabled the modified sources and enabled the original sources again. 

CFilter<GrayValueType> contains a protected type definition. The compiler of Visual Studio has no problems with this, but the compiler on Linux does not like this. Moreover, CFilter<GrayValueType> contains a pure virtual function that is defined in all concrete sub classes. The compiler on Linux complains that a pure virtual function would be called whereas the compiler of Visual Studio does compile the function call.

What has gone wrong so far?

Kind regards
Harald Galda




More information about the users mailing list