Kompilační chyba v C++ projektu
Vancl Miroslav (QRIS)
miroslav.vancl na qris.cz
Sobota Únor 3 11:26:08 CET 2007
Bohužel neznám C++ a potřeboval bych rychle maličko upravit jednu utilitu (FireBird 1.5.3 - fbmgr).
Potíž je v tom, že se mi nedaří přeložit ani originální zdrojáky. Objevuje se chyba:
# make utilities/ibmgr
g++ -I../src/include/gen -I../src/include -ggdb -O3 -march=i586 -mcpu=i686 -fno-omit-frame-pointer -fno-builtin -DNDEBUG -DLINUX -pipe -MMD -fPIC -DPROD_BUILD utilities/ibmgr.cpp -o utilities/ibmgr
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
../src/include/../common/classes/alloc.h:256: error: 'void* operator new(size_t, Firebird::MemoryPool&)' may not be declared as static
../src/include/../common/classes/alloc.h:260: error: 'void* operator new [](size_t, Firebird::MemoryPool&)' may not be declared as static
make: *** [utilities/ibmgr] Error 1
Překládané řádky alloc.h vypadají takto:
static inline void* operator new(size_t s, Firebird::MemoryPool& pool) {
return pool.allocate(s);
// return pool.calloc(s);
}
static inline void* operator new[](size_t s, Firebird::MemoryPool& pool) {
return pool.allocate(s);
// return pool.calloc(s);
}
Odhaduju, že se jedná o nějakou nekompatibilitu kompilačního prostředí ale netuším jakou. Překlad dělám ve SLES 10.
Díky za každou radu
M. Vancl
ICQ 173540345
Další informace o konferenci Linux