Jump to content

neue Bindings für C++


Recommended Posts

Hab gerade die neuen Bindings herunter geladen.

Beim Übersetzen wurde vom Compiler bemängelt das die Konstante INT32_MAX nicht definiert ist.

Hab festgestellt das in der ipconnection.c die Zeile #define INT32_MAX    _I32_MAX fehlt,

Habe sie ergänzt und nun geht das Compilieren wieder.

 

#ifndef _WIN32
#include <unistd.h>
#include <sys/types.h>
#include <sys/time.h> // gettimeofday
#include <sys/socket.h> // connect
#include <sys/select.h>
#include <netdb.h> // gethostbyname
#endif

#define INT32_MAX    _I32_MAX

#define MAX_BASE58_STR_SIZE 13
const char BASE58_STR[] = \
"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ";

#ifdef _WIN32

Link zu diesem Kommentar
Share on other sites

Ich wollte gerade das limits-include raussuchen, bin dann aber hierüber gestolpert:

http://stackoverflow.com/questions/3233054/error-int32-max-was-not-declared-in-this-scope

 

Zitat:

"C++ implementations should define these macros only when __STDC_LIMIT_MACROS is defined before is included".

 

So try:

#define __STDC_LIMIT_MACROS
#include <stdint.h>

Link zu diesem Kommentar
Share on other sites

Okay, das ist stdint.h von hier

 

http://msinttypes.googlecode.com/svn/trunk/stdint.h

 

Dass heißt dann wohl, dass MSVC 2008 nocht keine stdint.h hat und du es selbst beigelegt hast. MSVC 2010 hat einen eigenen stdint.h und der braucht __STDC_LIMIT_MACROS nicht für C++.

 

Ich geben also AuronX recht, wir bauchen hier __STDC_LIMIT_MACROS auch wenn es sich um C Code handelt. Aber unter MSVC wird der als C++ kompiliert.

 

Ich werde das so verwenden, damit es keinen Macroredefinition Fehler gibt, falls man __STDC_LIMIT_MACROS schon als Compilerdefine setzt.

 

#ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS
#endif
#include <stdint.h>

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...