Fix build in Visual Studio (2013) #111

Open
chosenofbear wants to merge 5 commits from chosenofbear/master into master
15 changed files with 44 additions and 1 deletions

View File

@ -23,6 +23,7 @@
#define BINDING_UTIL_H #define BINDING_UTIL_H
#include <ruby.h> #include <ruby.h>
#undef inline //ruby's config.h has #define inline __inline, which cause error in xkeycheck.h
#include "exception.h" #include "exception.h"

View File

@ -19,6 +19,10 @@
** along with mkxp. If not, see <http://www.gnu.org/licenses/>. ** along with mkxp. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifdef _MSC_VER
#define NOMINMAX
#endif
#include <algorithm> #include <algorithm>
#include "table.h" #include "table.h"
#include "binding-util.h" #include "binding-util.h"

View File

@ -19,6 +19,7 @@
** along with mkxp. If not, see <http://www.gnu.org/licenses/>. ** along with mkxp. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "crossplatform.h"
#include "alstream.h" #include "alstream.h"
#include "sharedstate.h" #include "sharedstate.h"

View File

@ -348,7 +348,11 @@ void Config::readGameINI()
size_t inLen = game.title.size(); size_t inLen = game.title.size();
size_t outLen = inLen * 4; size_t outLen = inLen * 4;
std::string buf(outLen, '\0'); std::string buf(outLen, '\0');
#ifdef _MSC_VER
const char *inPtr = game.title.c_str();
#else
char *inPtr = const_cast<char*>(game.title.c_str()); char *inPtr = const_cast<char*>(game.title.c_str());
#endif
char *outPtr = const_cast<char*>(buf.c_str()); char *outPtr = const_cast<char*>(buf.c_str());
errno = 0; errno = 0;

17
src/crossplatform.h Normal file
View File

@ -0,0 +1,17 @@
#ifndef MKXP_CROSSPLATFORM_H
#define MKXP_CROSSPLATFORM_H
#ifdef _MSC_VER
//#define _CRT_SECURE_NO_DEPRECATE //should be defined in binding-mri's preprocessor for vsnprintf, fopen
#include <direct.h>
#ifndef snprintf
#define snprintf _snprintf
#endif
#ifndef chdir
#define chdir _chdir
#endif
#endif
#endif //MKXP_CROSSPLATFORM_H

View File

@ -19,6 +19,7 @@
** along with mkxp. If not, see <http://www.gnu.org/licenses/>. ** along with mkxp. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "crossplatform.h"
#include "eventthread.h" #include "eventthread.h"
#include <SDL_events.h> #include <SDL_events.h>

View File

@ -22,6 +22,8 @@
#ifndef EXCEPTION_H #ifndef EXCEPTION_H
#define EXCEPTION_H #define EXCEPTION_H
#include "crossplatform.h"
#include <string> #include <string>
#include <stdio.h> #include <stdio.h>
#include <stdarg.h> #include <stdarg.h>

View File

@ -19,6 +19,7 @@
** along with mkxp. If not, see <http://www.gnu.org/licenses/>. ** along with mkxp. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "crossplatform.h"
#include "filesystem.h" #include "filesystem.h"
#include "rgssad.h" #include "rgssad.h"

View File

@ -43,7 +43,9 @@
#include <SDL_image.h> #include <SDL_image.h>
#include <time.h> #include <time.h>
#ifndef _MSC_VER
#include <sys/time.h> #include <sys/time.h>
#endif
#include <errno.h> #include <errno.h>
#include <algorithm> #include <algorithm>

View File

@ -19,6 +19,7 @@
** along with mkxp. If not, see <http://www.gnu.org/licenses/>. ** along with mkxp. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "crossplatform.h"
#include "keybindings.h" #include "keybindings.h"
#include "config.h" #include "config.h"

View File

@ -26,11 +26,14 @@
#include <SDL_ttf.h> #include <SDL_ttf.h>
#include <SDL_sound.h> #include <SDL_sound.h>
#ifndef _MSC_VER
#include <unistd.h> #include <unistd.h>
#endif
#include <string.h> #include <string.h>
#include <assert.h> #include <assert.h>
#include <string> #include <string>
#include "crossplatform.h"
#include "sharedstate.h" #include "sharedstate.h"
#include "eventthread.h" #include "eventthread.h"
#include "gl-debug.h" #include "gl-debug.h"
@ -357,4 +360,4 @@ int main(int argc, char *argv[])
SDL_Quit(); SDL_Quit();
return 0; return 0;
} }

View File

@ -19,6 +19,7 @@
** along with mkxp. If not, see <http://www.gnu.org/licenses/>. ** along with mkxp. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "crossplatform.h"
#include "settingsmenu.h" #include "settingsmenu.h"
#include <SDL_video.h> #include <SDL_video.h>

View File

@ -38,7 +38,9 @@
#include "exception.h" #include "exception.h"
#include "sharedmidistate.h" #include "sharedmidistate.h"
#ifndef _MSC_VER
#include <unistd.h> #include <unistd.h>
#endif
#include <stdio.h> #include <stdio.h>
#include <string> #include <string>

View File

@ -19,6 +19,7 @@
** along with mkxp. If not, see <http://www.gnu.org/licenses/>. ** along with mkxp. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "crossplatform.h"
#include "soundemitter.h" #include "soundemitter.h"
#include "sharedstate.h" #include "sharedstate.h"

View File

@ -22,6 +22,8 @@
#ifndef UTIL_H #ifndef UTIL_H
#define UTIL_H #define UTIL_H
#include "crossplatform.h"
#include <stdio.h> #include <stdio.h>
#include <string> #include <string>
#include <algorithm> #include <algorithm>