mongodb-labs / mongorover

Intern project - MongoDB driver for the Lua programming language - This Repository is NOT a supported MongoDB product
Apache License 2.0
55 stars 10 forks source link

How to build on Win7x64 VS2015 #40

Open corelgott opened 8 years ago

corelgott commented 8 years ago

Hi @ all,

I'm trying to build mongorover on Win7x64 with VS2015. Since cmake automatically uses the most current version of Vs installed I'm stuck with that.

I've successfully compiles the mongo-c driver as well having lua installed. But when I try to run luarocks make I get this:

D:\temp\LuaMongo\mongorover>luarocks make LIBBSON_DIR=c:\mongo-c-driver LIBMONGOC_DIR=c:\mongo-c-driver cl /nologo /MD /O2 -c -Foc_wrapper/mongo-module.obj -Ic:/lua/include/ c_wrapper/mongo-module.c -IC:/WinDDK/7600.16385.1/in bbson-1.0 mongo-module.c C:/WinDDK/7600.16385.1/inc/api\wingdi.h(4685) : warning C4068: Unbekanntes Pragma C:/WinDDK/7600.16385.1/inc/api\wingdi.h(4686) : warning C4068: Unbekanntes Pragma C:/WinDDK/7600.16385.1/inc/api\winefs.h(387) : error C2485: 'deprecated' nichterkanntes erweitertes Attribut C:/WinDDK/7600.16385.1/inc/api\winefs.h(397) : error C2485: 'deprecated' nichterkanntes erweitertes Attribut C:/WinDDK/7600.16385.1/inc/api\winefs.h(410) : error C2485: 'deprecated' nichterkanntes erweitertes Attribut c:\mongo-c-driver/include/libbson-1.0\bson-endian.h(188) : error C2059: Syntaxfehler : 'Ungueltiges Suffix auf Zahl' c:\mongo-c-driver/include/libbson-1.0\bson-endian.h(188) : error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 'L' c:\mongo-c-driver/include/libbson-1.0\bson-endian.h(189) : error C2059: Syntaxfehler : 'Ungueltiges Suffix auf Zahl' c:\mongo-c-driver/include/libbson-1.0\bson-endian.h(190) : error C2059: Syntaxfehler : 'Ungueltiges Suffix auf Zahl' c:\mongo-c-driver/include/libbson-1.0\bson-endian.h(191) : error C2059: Syntaxfehler : 'Ungueltiges Suffix auf Zahl' c:\mongo-c-driver/include/libbson-1.0\bson-endian.h(192) : error C2059: Syntaxfehler : 'Ungueltiges Suffix auf Zahl' c:\mongo-c-driver/include/libbson-1.0\bson-endian.h(193) : error C2059: Syntaxfehler : 'Ungueltiges Suffix auf Zahl' c:\mongo-c-driver/include/libbson-1.0\bson-endian.h(194) : error C2059: Syntaxfehler : 'Ungueltiges Suffix auf Zahl' c:\mongo-c-driver/include/libbson-1.0\bson-endian.h(195) : error C2059: Syntaxfehler : 'Ungueltiges Suffix auf Zahl' c:\mongo-c-driver/include/libbson-1.0\bson-types.h(123) : error C2485: 'align' nichterkanntes erweitertes Attribut c:\mongo-c-driver/include/libbson-1.0\bson-types.h(123) : error C2059: Syntaxfehler : '(' c:\mongo-c-driver/include/libbson-1.0\bson-types.h(276) : error C2485: 'align' nichterkanntes erweitertes Attribut c:\mongo-c-driver/include/libbson-1.0\bson-types.h(276) : error C2059: Syntaxfehler : '(' c:\mongo-c-driver/include/libbson-1.0\bson-types.h(346) : error C2485: 'align' nichterkanntes erweitertes Attribut c:\mongo-c-driver/include/libbson-1.0\bson-types.h(346) : error C2059: Syntaxfehler : '(' c:\mongo-c-driver/include/libbson-1.0\bson-types.h(374) : error C2485: 'align' nichterkanntes erweitertes Attribut c:\mongo-c-driver/include/libbson-1.0\bson-types.h(374) : error C2059: Syntaxfehler : '(' c:\mongo-c-driver/include/libbson-1.0\bson-types.h(398) : error C2485: 'align' nichterkanntes erweitertes Attribut c:\mongo-c-driver/include/libbson-1.0\bson-types.h(398) : error C2059: Syntaxfehler : '(' c:\mongo-c-driver/include/libbson-1.0\bson-types.h(517) : error C2485: 'align' nichterkanntes erweitertes Attribut c:\mongo-c-driver/include/libbson-1.0\bson-types.h(517) : error C2059: Syntaxfehler : '(' c:\mongo-c-driver/include/libbson-1.0\bcon.h(286) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(286) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(286) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(286) : error C2010: ')' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(288) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(288) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(288) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(288) : error C2010: ')' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(291) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(291) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(291) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(291) : error C2010: ')' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(294) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(294) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(294) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(294) : error C2010: ')' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(297) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(297) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libbson-1.0\bcon.h(297) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(35) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(35) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(35) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(36) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(36) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(36) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(37) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(37) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(37) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(38) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(38) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(38) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(39) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(39) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(39) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(40) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(40) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c:\mongo-c-driver/include/libmongoc-1.0\mongoc-log.h(40) : error C2010: '.' : unerwartetes Zeichen in Makro-Parameterliste c_wrapper/mongo-module.c(24) : warning C4047: '=' : Anzahl der Dereferenzierungen bei 'char *' und 'int ' unterschiedlich

I've compile Mongo-C with the same environment. I'm suspecting since the "mongo-c-driver" is build via msbuild that the resulting .h are not a 100% compatible with cmake...

Is there any way around this?

christopherjwang commented 7 years ago

@corelgott Half a year late, but I got this working for VS 2010 in #63 . Are you still interested? I can probably help you out now.