On Tuesday 25 October 2005 06:50 am, Dan Andersson wrote:
> Trying to compile gSpiceUI Version 0.7.56 on my SuSE 10.0 box.
> 
> I cannot fins any fault in the code so I'll drop the question here and hope 
> someone ran into it it before.
> 
> GCC = gcc version 4.0.2 (SUSE Linux)
> 
> The compile output is:
> 
> 
> 
> ****************************************************************************************
> `/home/dan/geda-sources/gspiceui/gspiceui-v0.7.56/src'
> g++ -c -O -Wall -pipe -I/usr/lib/wx/include/gtk2-unicode-release-2.6 
> -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 
> -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA   -I/usr/include 
> -I/usr/X11R6/include -I. -Ibase -Imain -Inetlist -Ignucap -Ingspice -Iprocess 
> -Iutility AppGSpiceUI.cpp -o obj/AppGSpiceUI.o
> CmdLinePcr.hpp:49: error: ISO C++ forbids declaration of ‘AppGSpiceUI’ with 
> no 
> type
> CmdLinePcr.hpp:49: error: expected ‘;’ before ‘*’ token

the rest is omitted.

The problem is a recursive include.

‘AppGSpiceUI’  is not defined because ...
CmdLinePcr.hpp includes AppGSpiceUI.hpp which tries to define it
but AppGSpiceUI.hpp tries to include CmdLinePcr.hpp
which is silently skipped because it thinks it is already included,
but it didn't get to the definition of ‘AppGSpiceUI’  yet.

Commenting out  #include "CmdLinePcr.hpp" in AppGSpiceUI.hpp let it
past this problem, but causes problems later, because the needed file 
isn't included.

I stopped here, figuring this will get you past the block so you can 
finish the job.

The program seems to use the include strategy that the .cpp file only
includes its own .hpp file.  The .hpp file tries to include all that is needed.
#define and #ifdef prevent consequences of multiple inclusion.

I got around this one by adding:
class AppGSpiceUI;
just after the #includes
but the include strategy needs to be worked on.

Then I got another problem...
g++ -c -O -Wall -pipe -I/usr/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS 
-D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/usr/include 
-I/usr/X11R6/include 
-I. -Ibase -Imain -Inetlist -Ignucap -Ingspice -Iprocess -Iutility 
gnucap/DlgGenCfg.cpp -o obj/DlgGenCfg.o
gnucap/DlgGenCfg.cpp: In member function 'void DlgGenCfg::Init()':
gnucap/DlgGenCfg.cpp:57: error: 'wxSizerFlags' was not declared in this scope

I couldn't find a definition of 'wxSizerFlags' anywhere.
I think this problem is a library mismatch.
The program expects a different version of wx than I have.
I stopped here.

Reply via email to