octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MinGW: 'QUnixTerminalImpl' has not been declared


From: Daniel J Sebald
Subject: Re: MinGW: 'QUnixTerminalImpl' has not been declared
Date: Thu, 20 Sep 2012 15:37:06 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.24) Gecko/20111108 Fedora/3.1.16-1.fc14 Thunderbird/3.1.16

On 09/20/2012 03:24 PM, Philip Nienhuis wrote:
Daniel J Sebald wrote:
On 09/20/2012 03:07 PM, Philip Nienhuis wrote:
Michael Goffioul wrote
On Thu, Sep 20, 2012 at 5:46 AM, Daniel J Sebald<

daniel.sebald@

>wrote:


In the attached patch I replaced setenv with octave_putenv since
"lo-utils.h" is already include in the list of header files.
(octave_env::putenv() is a simple call to octave_putenv. John, if we
should be using OOP over library call, let us know.) Please give
that a
try under MinGW.


OK using your patch the build continues until:

:
libtool: compile: g++ -shared-libgcc -DHAVE_CONFIG_H -I.
-I../../octave/libgui -I..
-IX:/programs/msys/home/**Philip/qt4/qt-everywhere-**
opensource-src-4.7.4/include
-IX:/programs/msys/home/**Philip/qt4/qt-everywhere-**
opensource-src-4.7.4/include/**QtCore
-IX:/programs/msys/home/**Philip/qt4/qt-everywhere-**
opensource-src-4.7.4/include/**QtGui
-I.././octave/libgui/**qterminal/libqterminal -DUNICODE
-I/x/Programs/gplibs/include -I/x/Programs/OctaveLibs/**include
-I/x/programs/GnuWin32/include -mieee-fp
-Ic:/Programs/gplibs/include/**freetype2 -Ic:/Programs/gplibs/include
-IX:/Programs/gplibs/include -g -O2 -MT qterminal/libqterminal/**
qterminal
_libqterminal_la-moc-**QTerminal.lo -MD -MP -MF
qterminal/libqterminal/.deps/**qterminal_libqterminal_la-moc-**
QTerminal.Tpo
-c qterminal/libqterminal/moc-**QTerminal.cc -DDLL_EXPORT -DPIC -o
qterminal/libqterminal/.libs/**qterminal_libqterminal_la-moc-**
QTerminal.oqterminal/**libqterminal/moc-QTerminal.cc:**41:8:
error: 'QUnixTerminalImpl' has not been declared
qterminal/libqterminal/moc-**QTerminal.cc: In member function
'virtual
void* QTerminal::qt_metacast(const char*)':
qterminal/libqterminal/moc-**QTerminal.cc:59:12: error:
'QUnixTerminalImpl' has not been declared
qterminal/libqterminal/moc-**QTerminal.cc: In member function
'virtual
int
QTerminal::qt_metacall(**QMetaObject::Call, int, void**)':
qterminal/libqterminal/moc-**QTerminal.cc:64:11: error:
'QUnixTerminalImpl' has not been declared
make[3]: ***
[qterminal/libqterminal/**qterminal_libqterminal_la-moc-**QTerminal.lo]


Error 1
make[3]: Leaving directory `/home/Philip/octdev/oct-3.7/**libgui'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/Philip/octdev/oct-3.7/**libgui'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Philip/octdev/oct-3.7'
make: *** [all] Error 2


I haven't forgotten about this compile issue; there hasn't been enough
time to get to it.

Clearly there is no reason a Windows build should want to access
QUnixTerminalImpl, so we'll have to place some conditional pre-compile
statements around some code somewhere. I'll attempt that and add the
setenv/putenv fix in the same patch and place it on Savannah bug track
Thursday or Friday. That way if we find more we can update the
patch in
the bug tracker.


Does the moc command include the flag -DWIN32? (it should)

You mean in<SRCDIR>/libgui/Makefile.am? It contains:

:
MOC_CPPFLAGS =
:

Looking back in my memory and the ML archives, I've seen this error
before:

https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2012-August/029785.html



I remember you sent me a patch that fixed this and some other issues.
Only next Monday evening I might have time to look into this further.

FYI, I did hg clone ....... on my Linux laptop, ran ./autogen.sh there,
tar.gz'ed it, transplanted and untar/unzipped it into my MinGW dev
directory.

Thanks,

Philip

Oh, I don't think that will work Philip. The reason is that

moc-QTerminal.cc
moc-QTerminalInterface.cc

are generated files with contents dependent upon the system.

That should happen during ./configure, not during .autogen.sh, or have I
got that wrong?

No, that's right. But I'm wondering if that makes a difference or not. The autogen.sh/bootstrap may be setting some definition as though the configure is intended for WIN32, or something. Let me think about this one. I see where the MOC/Q_OS_WIN32 definitions are done.

Dan


reply via email to

[Prev in Thread] Current Thread [Next in Thread]