Ajuda para compilar kgb_arch

1. Ajuda para compilar kgb_arch

Lucas Sampaio
lucassampaio

(usa Slackware)

Enviado em 16/09/2016 - 11:00h

Olá pessoal.
Estou tentando compilar o kgb_arch_posix_by_slawek.cpp que é um compactador de arquivos que baixei no sourceforge.
Estou usando o comando recomendado no arquivo README.
g++ -O3 -o kgb kgb_arch_posix_by_slawek.cpp
Porém me retorna erro:
kgb_arch_posix_by_slawek.cpp: In constructor ‘Ch::Ch()’:
kgb_arch_posix_by_slawek.cpp:998:38: error: ‘memset’ was not declared in this scope
memset(lpos, 0, 256*4*sizeof(U32));
^
kgb_arch_posix_by_slawek.cpp: In constructor ‘CharModel::CharModel()’:
kgb_arch_posix_by_slawek.cpp:1457:33: error: ‘memset’ was not declared in this scope
memset(cxt, 0, N*sizeof(U32));
^
kgb_arch_posix_by_slawek.cpp: In constructor ‘MatchModel::MatchModel()’:
kgb_arch_posix_by_slawek.cpp:1528:40: error: ‘memset’ was not declared in this scope
memset(ptr, 0, (1 << N)*sizeof(U32));
^
kgb_arch_posix_by_slawek.cpp: In function ‘int main(int, char**)’:
kgb_arch_posix_by_slawek.cpp:2339:45: error: ‘strlen’ was not declared in this scope
for(int a=1; a<strlen(argv[i]); a++)
^
kgb_arch_posix_by_slawek.cpp: In instantiation of ‘Hashtable<T>::Hashtable(U32) [with T = Counter; U32 = long unsigned int]’:
kgb_arch_posix_by_slawek.cpp:1360:55: required from here
kgb_arch_posix_by_slawek.cpp:1125:18: error: cast from ‘char*’ to ‘int’ loses precision [-fpermissive]
p+=64-(((int)p)&63); // Aligned
^
kgb_arch_posix_by_slawek.cpp: In instantiation of ‘void Hashtable<T>::set(U32) [with T = Counter; U32 = long unsigned int]’:
kgb_arch_posix_by_slawek.cpp:1370:16: required from here
kgb_arch_posix_by_slawek.cpp:1092:16: error: ‘memmove’ was not declared in this scope
memmove(table+lo+1, table+lo, 32);
^
kgb_arch_posix_by_slawek.cpp:1094:16: error: ‘memmove’ was not declared in this scope
memmove(table+lo+1, table+lo, 48);
^
kgb_arch_posix_by_slawek.cpp:1095:13: error: ‘memset’ was not declared in this scope
memset(table+lo, 0, 16);
^
kgb_arch_posix_by_slawek.cpp:1102:14: error: ‘memmove’ was not declared in this scope
memmove(table+lo+1, table+lo, (cxt-lo)*16);


Estou usando Slackware64 14.2