Hallo,
ich habe ein Problem beim kompilieren von DFB++ (1.0.0). System ist eisfair mit gcc 3.4.4 von sevo. configure lief ohne Fehler durch, aber erst nachdem ich die directfb.pc, direct.pc etc. händisch an ihren Platz kopiert habe. Keine ahnung wieso das nicht automatisch kopiert wurde.
Nun tauchen bei 'make' aber lauter Fehler auf:
Code
...
../include/idirectfbvideoprovider.h:62: error: ISO C++ forbids declaration of `flags' with no type
../include/idirectfbvideoprovider.h:71: error: expected `)' before '*' token
../include/idirectfbvideoprovider.h:76: error: ISO C++ forbids declaration of `IDirectFBVideoProvider_C' with no type
../include/idirectfbvideoprovider.h:76: error: expected `;' before '*' token
In file included from ../include/dfb++.h:87,
from dfb++.cpp:28:
../include/idirectfbdatabuffer.h:66: error: expected `)' before '*' token
../include/idirectfbdatabuffer.h:69: error: ISO C++ forbids declaration of `IDirectFBDataBuffer_C' with no type
../include/idirectfbdatabuffer.h:69: error: expected `;' before '*' token
../include/idirectfbdatabuffer.h:71: error: expected `;' before "private"
../include/idirectfbdatabuffer.h:73: error: ISO C++ forbids declaration of `IDirectFBDataBuffer_C' with no type
../include/idirectfbdatabuffer.h:73: error: expected `;' before '*' token
In file included from dfb++.cpp:28:
../include/dfb++.h:104: error: `DFBResult' has not been declared
../include/dfb++.h:104: error: ISO C++ forbids declaration of `result_code' with no type
../include/dfb++.h:108: error: `DFBResult' does not name a type
../include/dfb++.h:114: error: `DFBResult' does not name a type
dfb++.cpp:31: error: `DFBResult' has not been declared
dfb++.cpp:32: error: ISO C++ forbids declaration of `result_code' with no type
dfb++.cpp: In constructor `DFBException::DFBException(const char*, int)':
dfb++.cpp:45: error: 'class DFBException' has no member named 'result_code'
dfb++.cpp: In member function `const char* DFBException::GetResult() const':
dfb++.cpp:55: error: `result_code' undeclared (first use this function)
dfb++.cpp:55: error: (Each undeclared identifier is reported only once for each function it appears in.)
dfb++.cpp:55: error: `DirectFBErrorString' undeclared (first use this function)
dfb++.cpp: At global scope:
dfb++.cpp:58: error: `DFBResult' does not name a type
dfb++.cpp: In static member function `static void DirectFB::Init(int*, char***)':
dfb++.cpp:74: error: `DFBResult' undeclared (first use this function)
dfb++.cpp:74: error: expected `;' before "ret"
dfb++.cpp:74: error: `ret' undeclared (first use this function)
dfb++.cpp: In static member function `static IDirectFB* DirectFB::Create()':
dfb++.cpp:79: error: `IDirectFB_C' undeclared (first use this function)
dfb++.cpp:79: error: `idirectfb' undeclared (first use this function)
dfb++.cpp:81: error: `DFBResult' undeclared (first use this function)
dfb++.cpp:81: error: expected `;' before "ret"
dfb++.cpp:81: error: `ret' undeclared (first use this function)
make[2]: *** [dfb++.lo] Error 1
make[2]: Leaving directory `/usr/src/DFB++-1.0.0/dfb++'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/DFB++-1.0.0'
make: *** [all] Error 2
Alles anzeigen
Das gleiche Problem hatte ich schonmal mit dfb++ auf dem eisfair und konnte es damals auch irgendwie lösen, nur weiss ich nicht mehr wie. Googlen hat mich auch nicht weiter gebracht.
prefix und FLAGS sind identisch mit den, die ich bei directfb benutzt habe, welches auch ohne probleme kompiliert und installiert werden konnte.
Code
./configure --prefix=/usr CFLAGS="-march=pentium3 -fomit-frame-pointer" CXXFLAGS="-march=pentium3 -fomit-frame-pointer"
Gruß
tec