B

Ogólne pytania dotyczące systemu
MaestroS
Posty: 48
Rejestracja: 11 maja 2007, 19:19
Lokalizacja: Universe

Błąd podczas kompilacji, wcześniej się kompilowało

Post autor: MaestroS »

Kod: Zaznacz cały

xx:/home/xx/xx/Sources/Compile# make
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D_THREAD_SAFE -D_REENTRANT -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -c spawn.cpp
In file included from itemloader.h:24,
                 from items.h:27,
                 from item.h:26,
                 from tile.h:27,
                 from spawn.h:25,
                 from spawn.cpp:22:
fileloader.h: In member function 'bool PropStream::GET_STRING(std::string&)':
fileloader.h:249: error: 'memcpy' was not declared in this scope
fileloader.h: In member function 'bool PropStream::GET_LSTRING(std::string&)':
fileloader.h:269: error: 'memcpy' was not declared in this scope
fileloader.h: In member function 'bool PropStream::GET_NSTRING(short unsigned int, std::string&)':
fileloader.h:283: error: 'memcpy' was not declared in this scope
fileloader.h: In constructor 'PropWriteStream::PropWriteStream()':
fileloader.h:313: error: 'memset' was not declared in this scope
fileloader.h: In member function 'void PropWriteStream::ADD_TYPE(T*)':
fileloader.h:334: error: there are no arguments to 'memcpy' that depend on a template parameter, so a declaration of 'memcpy' must be available
fileloader.h:334: error: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
fileloader.h: In member function 'void PropWriteStream::ADD_STRING(const std::string&)':
fileloader.h:367: error: 'memcpy' was not declared in this scope
fileloader.h: In member function 'void PropWriteStream::ADD_LSTRING(const std::string&)':
fileloader.h:383: error: 'memcpy' was not declared in this scope
In file included from item.h:26,
                 from tile.h:27,
                 from spawn.h:25,
                 from spawn.cpp:22:
items.h: In constructor 'Abilities::Abilities()':
items.h:66: error: 'memset' was not declared in this scope
In file included from protocolgame.h:25,
                 from player.h:32,
                 from game.h:32,
                 from spawn.cpp:23:
protocol.h: In member function 'void Protocol::setXTEAKey(const uint32_t*)':
protocol.h:74: error: 'memcpy' was not declared in this scope
In file included from scheduler.h:31,
                 from game.h:35,
                 from spawn.cpp:23:
tasks.h: At global scope:
tasks.h:72: error: 'OTSYS_THREAD_RETURN' does not name a type
In file included from game.h:35,
                 from spawn.cpp:23:
scheduler.h:101: error: 'OTSYS_THREAD_RETURN' does not name a type
make: *** [spawn.o] Błąd 1
Trochę się zdziwiłem, szczerze mówiąc, widząc te błędy, ponieważ kompilowałem te same źródła dokładnie 12 godzin temu i skompilowały się bez problemu. Niestety musiałem od nowa zainstalować serwer, ale ściągnąłem potrzebne paczki i o! Błędy. Zaprawdę powiadam, nie wiem o co chodzi.

W tamtym i tym przypadku korzystałem z tego:

Kod: Zaznacz cały

apt-get install subversion autoconf automake make g++ libxml2 libxml2-dev libxml++2.6-dev lua5.1 liblua5.1-0 liblua5.1-0-dev libboost-dev libboost-regex-dev libboost-thread-dev libmysql++-dev libgmp3-dev liblua5.1-sql-mysql2 liblua5.1-sql-sqlite2 liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite-dev
adrikux

Post autor: adrikux »

Do komplacji pakietów źródłowych powinny wystarczyć jedynie pakiety: gcc i build-essential. Zainstaluj je i ponów polecenie: make.
Utumno
Beginner
Posty: 432
Rejestracja: 09 listopada 2008, 13:04
Lokalizacja: Gdansk

Post autor: Utumno »

Do kompilacji wystarczy jedynie ,,build-essential'', pobiera całą resztę włącznie z gcc.
ODPOWIEDZ