Mellnik/hash-plugin

Build on Ubuntu 18.04

Closed this issue · 5 comments

C-far commented

What are the corrects dependencies to build on Linux ?
In my case, I have these packets :

  • gcc-8
  • g++-8
  • gcc-8-multilib
  • g++-8-multilib
  • libboost-all-dev

And when I use make :

gcc -I/usr/include/x86_64-linux-gnu -c -m32 -fPIC -O3 -DLINUX -w -I./include/ -I./include/SDK/amx/ ./include/SDK/amx/*.c
g++ -I/usr/include/x86_64-linux-gnu/c++/8/32 -c -m32 -fPIC -O3 -DLINUX -w -I./include/ -I./include/SDK/amx/ ./include/SDK/*.cpp
g++ -I/usr/include/x86_64-linux-gnu/c++/8/32 -c -m32 -fPIC -O3 -DLINUX -w -I./include/ -I./include/SDK/amx/ ./src/*.cpp
In file included from ./src/callback.cpp:17:0:
./src/callback.h:35:12: error: ‘std::variant’ has not been declared
 using std::variant;
            ^~~~~~~
./src/callback.h:38:12: error: ‘std::bind’ has not been declared
 using std::bind;
            ^~~~
In file included from ./src/pbkdf2.h:26:0,
                 from ./src/callback.h:43,
                 from ./src/callback.cpp:17:
./src/utility.h:29:12: error: ‘std::variant’ has not been declared
 using std::variant;
            ^~~~~~~
In file included from ./src/pbkdf2.h:26:0,
                 from ./src/callback.h:43,
                 from ./src/callback.cpp:17:
./src/utility.h:37:9: error: ‘variant’ was not declared in this scope
  stack< variant<cell, string> > Params;
         ^~~~~~~
./src/utility.h:37:9: note: suggested alternative: ‘vprintf’
  stack< variant<cell, string> > Params;
         ^~~~~~~
         vprintf
./src/utility.h:37:29: error: template argument 1 is invalid
  stack< variant<cell, string> > Params;
                             ^
./src/utility.h:37:31: error: expected unqualified-id before ‘>’ token
  stack< variant<cell, string> > Params;
                               ^
In file included from ./src/callback.cpp:17:0:
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘vprintf’
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
                         vprintf
./src/callback.h:55:45: error: template argument 1 is invalid
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                                             ^
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘vprintf’
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
                         vprintf
./src/callback.h:55:45: error: template argument 1 is invalid
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                                             ^
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘vprintf’
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
                         vprintf
./src/callback.h:55:45: error: template argument 1 is invalid
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                                             ^
./src/callback.h:55:18: error: ‘stack’ is not a type
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                  ^~~~~
./src/callback.h:55:23: error: expected ‘,’ or ‘...’ before ‘<’ token
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                       ^
./src/callback.cpp: In member function ‘void Callback::ProcessTick()’:
./src/callback.cpp:46:27: error: ‘struct CallbackData’ has no member named ‘Params’
     while (!Queue->cData->Params.empty())
                           ^~~~~~
./src/callback.cpp:48:6: error: ‘variant’ was not declared in this scope
      variant<cell, string> Param(move(Queue->cData->Params.top()));
      ^~~~~~~
./src/callback.cpp:48:6: note: suggested alternative: ‘vprintf’
      variant<cell, string> Param(move(Queue->cData->Params.top()));
      ^~~~~~~
      vprintf
./src/callback.cpp:48:18: error: expected primary-expression before ‘,’ token
      variant<cell, string> Param(move(Queue->cData->Params.top()));
                  ^
./src/callback.cpp:48:26: error: expected primary-expression before ‘>’ token
      variant<cell, string> Param(move(Queue->cData->Params.top()));
                          ^
./src/callback.cpp:48:53: error: ‘struct CallbackData’ has no member named ‘Params’
      variant<cell, string> Param(move(Queue->cData->Params.top()));
                                                     ^~~~~~
./src/callback.cpp:48:28: error: ‘Param’ was not declared in this scope
      variant<cell, string> Param(move(Queue->cData->Params.top()));
                            ^~~~~
./src/callback.cpp:50:24: error: ‘get_if’ is not a member of ‘std’
      if (auto v = std::get_if<cell>(&Param)) {
                        ^~~~~~
./src/callback.cpp:50:24: note: suggested alternative: ‘get’
      if (auto v = std::get_if<cell>(&Param)) {
                        ^~~~~~
                        get
./src/callback.cpp:50:35: error: expected primary-expression before ‘>’ token
      if (auto v = std::get_if<cell>(&Param)) {
                                   ^
./src/callback.cpp:53:29: error: ‘get_if’ is not a member of ‘std’
      else if (auto v = std::get_if<string>(&Param)) {
                             ^~~~~~
./src/callback.cpp:53:29: note: suggested alternative: ‘get’
      else if (auto v = std::get_if<string>(&Param)) {
                             ^~~~~~
                             get
./src/callback.cpp:53:42: error: expected primary-expression before ‘>’ token
      else if (auto v = std::get_if<string>(&Param)) {
                                          ^
./src/callback.cpp:61:20: error: ‘struct CallbackData’ has no member named ‘Params’
      Queue->cData->Params.pop();
                    ^~~~~~
./src/callback.cpp: At global scope:
./src/callback.cpp:100:34: error: ‘variant’ was not declared in this scope
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                  ^~~~~~~
./src/callback.cpp:100:34: note: suggested alternative: ‘vprintf’
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                  ^~~~~~~
                                  vprintf
./src/callback.cpp:100:54: error: template argument 1 is invalid
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                                      ^
./src/callback.cpp:100:34: error: ‘variant’ was not declared in this scope
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                  ^~~~~~~
./src/callback.cpp:100:34: note: suggested alternative: ‘vprintf’
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                  ^~~~~~~
                                  vprintf
./src/callback.cpp:100:54: error: template argument 1 is invalid
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                                      ^
./src/callback.cpp:100:34: error: ‘variant’ was not declared in this scope
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                  ^~~~~~~
./src/callback.cpp:100:34: note: suggested alternative: ‘vprintf’
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                  ^~~~~~~
                                  vprintf
./src/callback.cpp:100:54: error: template argument 1 is invalid
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                                      ^
./src/callback.cpp:100:27: error: variable or field ‘Parameters’ declared void
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                           ^~~~~
./src/callback.cpp:100:34: error: ‘variant’ was not declared in this scope
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                  ^~~~~~~
./src/callback.cpp:100:34: note: suggested alternative: ‘vprintf’
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                  ^~~~~~~
                                  vprintf
./src/callback.cpp:100:54: error: template argument 1 is invalid
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                                      ^
./src/callback.cpp:100:59: error: ‘CallbackParameters’ was not declared in this scope
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                                           ^~~~~~~~~~~~~~~~~~
./src/callback.cpp:100:59: note: suggested alternative: ‘CallbackData’
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                                           ^~~~~~~~~~~~~~~~~~
                                                           CallbackData
./src/callback.cpp:100:79: error: expected primary-expression before ‘const’
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                                                               ^~~~~
./src/callback.cpp:100:103: error: expected primary-expression before ‘*’ token
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                                                                                       ^
./src/callback.cpp:100:104: error: ‘amx’ was not declared in this scope
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                                                                                        ^~~
./src/callback.cpp:100:114: error: expected primary-expression before ‘*’ token
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                                                                                                  ^
./src/callback.cpp:100:115: error: ‘params’ was not declared in this scope
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                                                                                                   ^~~~~~
./src/callback.cpp:100:123: error: expected primary-expression before ‘const’
 void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
                                                                                                                           ^~~~~
In file included from ./src/main.cpp:20:0:
./src/callback.h:35:12: error: ‘std::variant’ has not been declared
 using std::variant;
            ^~~~~~~
./src/callback.h:38:12: error: ‘std::bind’ has not been declared
 using std::bind;
            ^~~~
In file included from ./src/pbkdf2.h:26:0,
                 from ./src/callback.h:43,
                 from ./src/main.cpp:20:
./src/utility.h:29:12: error: ‘std::variant’ has not been declared
 using std::variant;
            ^~~~~~~
./src/utility.h:37:9: error: ‘variant’ was not declared in this scope
  stack< variant<cell, string> > Params;
         ^~~~~~~
./src/utility.h:37:9: note: suggested alternative: ‘vprintf’
  stack< variant<cell, string> > Params;
         ^~~~~~~
         vprintf
./src/utility.h:37:29: error: template argument 1 is invalid
  stack< variant<cell, string> > Params;
                             ^
./src/utility.h:37:31: error: expected unqualified-id before ‘>’ token
  stack< variant<cell, string> > Params;
                               ^
In file included from ./src/main.cpp:20:0:
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘vprintf’
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
                         vprintf
./src/callback.h:55:45: error: template argument 1 is invalid
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                                             ^
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘vprintf’
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
                         vprintf
./src/callback.h:55:45: error: template argument 1 is invalid
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                                             ^
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘vprintf’
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
                         vprintf
./src/callback.h:55:45: error: template argument 1 is invalid
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                                             ^
./src/callback.h:55:18: error: ‘stack’ is not a type
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                  ^~~~~
./src/callback.h:55:23: error: expected ‘,’ or ‘...’ before ‘<’ token
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                       ^
In file included from ./src/natives.cpp:31:0:
./src/utility.h:29:12: error: ‘std::variant’ has not been declared
 using std::variant;
            ^~~~~~~
In file included from ./src/natives.cpp:31:0:
./src/utility.h:37:9: error: ‘variant’ was not declared in this scope
  stack< variant<cell, string> > Params;
         ^~~~~~~
./src/utility.h:37:9: note: suggested alternative: ‘__rint’
  stack< variant<cell, string> > Params;
         ^~~~~~~
         __rint
./src/utility.h:37:29: error: template argument 1 is invalid
  stack< variant<cell, string> > Params;
                             ^
./src/utility.h:37:31: error: expected unqualified-id before ‘>’ token
  stack< variant<cell, string> > Params;
                               ^
In file included from ./src/natives.cpp:33:0:
./src/callback.h:35:12: error: ‘std::variant’ has not been declared
 using std::variant;
            ^~~~~~~
In file included from ./src/natives.cpp:33:0:
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘__rint’
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
                         __rint
./src/callback.h:55:45: error: template argument 1 is invalid
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                                             ^
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘__rint’
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
                         __rint
./src/callback.h:55:45: error: template argument 1 is invalid
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                                             ^
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘__rint’
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                         ^~~~~~~
                         __rint
./src/callback.h:55:45: error: template argument 1 is invalid
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                                             ^
./src/callback.h:55:18: error: ‘stack’ is not a type
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                  ^~~~~
./src/callback.h:55:23: error: expected ‘,’ or ‘...’ before ‘<’ token
  void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
                       ^
./src/natives.cpp: In function ‘cell Native::hash_generate(AMX*, cell*)’:
./src/natives.cpp:66:37: error: ‘struct CallbackData’ has no member named ‘Params’
  Callback::Get()->Parameters(cData->Params, format, amx, params, ParameterCount);
                                     ^~~~~~
./src/natives.cpp: In function ‘cell Native::hash_validate(AMX*, cell*)’:
./src/natives.cpp:124:37: error: ‘struct CallbackData’ has no member named ‘Params’
  Callback::Get()->Parameters(cData->Params, format, amx, params, ParameterCount);
                                     ^~~~~~
In file included from ./src/pbkdf2.h:26:0,
                 from ./src/pbkdf2.cpp:23:
./src/utility.h:29:12: error: ‘std::variant’ has not been declared
 using std::variant;
            ^~~~~~~
In file included from ./src/pbkdf2.h:26:0,
                 from ./src/pbkdf2.cpp:23:
./src/utility.h:37:9: error: ‘variant’ was not declared in this scope
  stack< variant<cell, string> > Params;
         ^~~~~~~
./src/utility.h:37:9: note: suggested alternative: ‘__rint’
  stack< variant<cell, string> > Params;
         ^~~~~~~
         __rint
./src/utility.h:37:29: error: template argument 1 is invalid
  stack< variant<cell, string> > Params;
                             ^
./src/utility.h:37:31: error: expected unqualified-id before ‘>’ token
  stack< variant<cell, string> > Params;
                               ^
In file included from ./src/utility.cpp:31:0:
./src/utility.h:29:12: error: ‘std::variant’ has not been declared
 using std::variant;
            ^~~~~~~
In file included from ./src/utility.cpp:31:0:
./src/utility.h:37:9: error: ‘variant’ was not declared in this scope
  stack< variant<cell, string> > Params;
         ^~~~~~~
./src/utility.h:37:9: note: suggested alternative: ‘__rint’
  stack< variant<cell, string> > Params;
         ^~~~~~~
         __rint
./src/utility.h:37:29: error: template argument 1 is invalid
  stack< variant<cell, string> > Params;
                             ^
./src/utility.h:37:31: error: expected unqualified-id before ‘>’ token
  stack< variant<cell, string> > Params;
                               ^
makefile:11: recipe for target 'hash' failed
make: *** [hash] Error 1

Boost is no longer necessary because of C++17. I forgot to update the makefile. Try to remove boost from the makefile and append "-std=gnu++17" instead.

C-far commented

I need to compile Crypto++ in 32 bits ?

gcc -std=gnu++17 -m32 -c -fPIC -O3 -DLINUX -w -I./include/ -I./include/SDK/amx/ ./include/SDK/amx/*.c
g++ -std=gnu++17 -m32 -c -fPIC -O3 -DLINUX -w -I./include/ -I./include/SDK/amx/ ./include/SDK/*.cpp
g++ -std=gnu++17 -m32 -c -fPIC -O3 -DLINUX -w -I./include/ -I./include/SDK/amx/ ./src/*.cpp
mkdir -p bin
g++ -std=gnu++17 -m32 -O2 -fshort-wchar -shared -o "bin/hash.so" *.o ./lib/libcryptopp.a -lrt -Wl,-Bstatic -Wl,-Bdynamic
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(cryptlib.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(integer.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(algparam.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(asn.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(base64.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(basecode.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(crc.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(crc_simd.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(dll.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(ec2n.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(ecp.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(files.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(filters.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(fips140.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(gf2n.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(gfpcrypt.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(hex.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(hmac.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(hrtimer.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(iterhash.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(md5.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(misc.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(modes.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(mqueue.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(nbtheory.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(oaep.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(osrng.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(pubkey.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(queue.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(randpool.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(rijndael.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(rijndael_simd.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(ripemd.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(rng.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(sha.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(sha3.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(sha_simd.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(whrlpool.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(cpu.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(keccakc.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(rdtables.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(sse_simd.o)' is incompatible with i386 output

This one is new to me but yes, you can try the -m32 switch for the lib.

C-far commented

I have compiled all Crypto++ files in 32 bits and with a remake of the makefile + adding 2 #include to compile correctly (functional and cstring files)

GPP = g++
GCC = gcc
OUTPUT = "bin/hash.so"
COMPILER_FLAGS = -std=gnu++17 -m32 -c -DLINUX -w -I./include/ -I./include/SDK/amx/
LIBRARIES = ./lib/libcryptopp.a -lrt -Wl,-Bstatic -Wl,-Bdynamic
CRYPTOPP_SRC_DIR = ./src/cryptopp

all: cryptolib hash clean

hash:
        $(GCC) $(COMPILER_FLAGS) ./include/SDK/amx/*.c
        $(GPP) $(COMPILER_FLAGS) ./include/SDK/*.cpp
        $(GPP) $(COMPILER_FLAGS) ./src/*.cpp
        mkdir -p bin
        $(GPP) -std=gnu++17 -m32 -fshort-wchar -shared -o $(OUTPUT) *.o $(LIBRARIES)

cryptolib:
        $(MAKE) -C $(CRYPTOPP_SRC_DIR) static
        mkdir -p lib
        cp $(CRYPTOPP_SRC_DIR)/libcryptopp.a ./lib

clean:
        rm -f *.o

I've make a pull request to able build the plugin in Linux.
#11