Hello,
after compiling and installing the Quickfix 1.3.2 distribution, I started to compile the
examples. The first problem was easily fixed: The include files were not found and so
I made a link from the examples directory:
/opt2/QuickFIX/quickfix-1.3.2/quickfix/examples $ ll quickfix
lrwxrwxrwx 1 joerg joerg 14 Jan 29 18:09 quickfix -> ../../quickfix
Perhaps my configuration steps were wrong:
./bootstrap
./configure
But then the GCC 3.0 complained about "SO C++ forbids declaration of `type_info' with no
type". (For the complete error log see below.)
It was always the same kind of line in Test.h:
const type_info& type = typeid(this);
All other errors origin in this one. Searching the web I found that this line should be
const std::type_info& type = typeid(this);
^^^^^
but there is a "using std::type_info" statement in the header section of this file:
include <typeinfo>
#if TYPEINFO_IN_STD
using std::type_info;
#endif
I checked config.h to see that TYPEINFO_IN_STD is defined and therefore the "using" line
is active.
Now I put "std::" before all occurences of type_info to get form suggested in the web.
But this resulted in lots of error messages...
Please, could anybody with more C++ knowledge point out the right way to fix this problem?
Cheers, Jörg
---- make log -----
make[3]: Entering directory `/net/fileserver/export/opt2/QuickFIX/quickfix-1.3.2/quickfix/examples/ordermatch/test'
g++-3.0 -DHAVE_CONFIG_H -I. -I. -I../.. -I.. -I../../.. -Wall -fexceptions -finline-functions -I/usr/include/libxml2/libxml -I/usr/include/libxml2 -c ordermatch_ut.cpp
In file included from ../../../CPPTest/TestCase.h:4,
from ../../../CPPTest/TestSuite.h:4,
from TestSuite.h:51,
from ordermatch_ut.cpp:55:
../../../CPPTest/Test.h: In member function `bool
CPPTest::Test<TClass>::setup(CPPTest::TestDisplay&)':
../../../CPPTest/Test.h:46: ISO C++ forbids declaration of `type_info' with no
type
../../../CPPTest/Test.h:46: parse error before `;' token
../../../CPPTest/Test.h: In member function `void
CPPTest::Test<TClass>::teardown(CPPTest::TestDisplay&)':
../../../CPPTest/Test.h:62: ISO C++ forbids declaration of `type_info' with no
type
../../../CPPTest/Test.h:62: parse error before `;' token
../../../CPPTest/Test.h: In member function `bool
CPPTest::Test<TClass>::run(CPPTest::TestDisplay&)':
../../../CPPTest/Test.h:72: ISO C++ forbids declaration of `type_info' with no
type
../../../CPPTest/Test.h:72: parse error before `;' token
../../../CPPTest/Test.h:88: ISO C++ forbids declaration of `type_info' with no
type
../../../CPPTest/Test.h:88: parse error before `;' token
../../../CPPTest/Test.h: In member function `bool
CPPTest::Test<TClass>::setup(CPPTest::TestDisplay&) [with TClass =
OrderMatcher]':
/usr/include/g++-v3/bits/locale_facets.tcc:75: instantiated from here
../../../CPPTest/Test.h:46: uninitialized const `type_info'
../../../CPPTest/Test.h:47: `type' undeclared (first use this function)
../../../CPPTest/Test.h:47: (Each undeclared identifier is reported only once
for each function it appears in.)
../../../CPPTest/Test.h:46: warning: unused variable `const int type_info'
../../../CPPTest/Test.h: In member function `void
CPPTest::Test<TClass>::teardown(CPPTest::TestDisplay&) [with TClass =
OrderMatcher]':
/usr/include/g++-v3/bits/locale_facets.tcc:75: instantiated from here
../../../CPPTest/Test.h:62: uninitialized const `type_info'
../../../CPPTest/Test.h:62: warning: unused variable `const int type_info'
../../../CPPTest/Test.h: In member function `bool
CPPTest::Test<TClass>::run(CPPTest::TestDisplay&) [with TClass =
OrderMatcher]':
/usr/include/g++-v3/bits/locale_facets.tcc:75: instantiated from here
../../../CPPTest/Test.h:72: uninitialized const `type_info'
/usr/include/g++-v3/bits/locale_facets.tcc:75: instantiated from here
../../../CPPTest/Test.h:72: warning: unused variable `const int type_info'
../../../CPPTest/Test.h:88: uninitialized const `type_info'
../../../CPPTest/Test.h:88: warning: unused variable `const int type_info'
-------
--
Joerg Thoennes
http://macd.com
Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH
Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen
|