Added Makefile.WINDOWS64, kindly provided by Lin Ming
authorJoris Mooij <j.mooij@cs.ru.nl>
Mon, 17 Sep 2012 10:10:57 +0000 (12:10 +0200)
committerJoris Mooij <j.mooij@cs.ru.nl>
Mon, 17 Sep 2012 10:10:57 +0000 (12:10 +0200)
ChangeLog
Makefile.LINUX
Makefile.WINDOWS
include/dai/doc.h
include/dai/util.h

index c2c0b22..10d3d58 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 git master
 ----------
+* Added Makefile.WINDOWS64, kindly provided by Lin Ming
 * Added special MatLab interface for junction tree algorithm (dai_jtree)
 * Added VC10 build files, kindly provided by Sameh Khamis
 * Fixed several Win64 related bugs (found by Sameh Khamis): 
index 9169a7c..9777295 100644 (file)
@@ -26,7 +26,7 @@ OE=.o
 # Binary executable
 EE=
 # MatLab compiled MEX file
-ME=.mexglx
+ME=.mexa64
 
 # COMPILER
 # Compile using GNU C++ Compiler
index b3c8c26..a18001d 100644 (file)
@@ -8,9 +8,6 @@
 # This template contains configurations for compiling libDAI with Visual C++
 # under Windows (and GNU Make)
 #
-# TODO: the latest libDAI version depends on GMP (Windows users can use MPIR)
-# This file has to be updated in order to link with the right GMP/MPIR libraries
-#
 # To use it, simply copy this file to 'Makefile.conf' and adapt 'Makefile.conf'
 # to your local setup
 
@@ -29,6 +26,11 @@ EE=.exe
 # MatLab compiled MEX file
 ME=.mexw32
 
+# DIRECTORIES
+# Directories where third party libraries are located
+BOOSTDIR=E:\windows\boost_1_51_0
+MPIRDIR=E:\windows\mpir_251
+
 # COMPILER
 # Compile using Visual C++ Compiler
 CC=cl
@@ -44,17 +46,17 @@ CCDEBUGFLAGS=/Ox /Zi /DDAI_DEBUG
 # Flags to add in non-debugging mode (if DEBUG=false)
 CCNODEBUGFLAGS=/Ox
 # Standard include directories
-CCINC=-Iinclude -IE:\windows\boost_1_42_0
+CCINC=-Iinclude -I$(BOOSTDIR) -I$(MPIRDIR)
 
 # LINKER
 # Standard libraries to include
 LIBS=/link $(LIB)/libdai$(LE)
 # For linking with BOOST libraries
-BOOSTLIBS_PO=/LIBPATH:E:\windows\boost_1_42_0\stage\lib
-BOOSTLIBS_UTF=/LIBPATH:E:\windows\boost_1_42_0\stage\lib
+BOOSTLIBS_PO=/LIBPATH:$(BOOSTDIR)\stage\lib
+BOOSTLIBS_UTF=/LIBPATH:$(BOOSTDIR)\stage\lib
 # Additional library search paths for linker
 # (For some reason, we have to add the VC library path, although it is in the environment)
-CCLIB=/LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB" /LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB" /LIBPATH:"C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib"
+CCLIB=/LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB" /LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB" /LIBPATH:"C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib" /LIBPATH:"$(MPIRDIR)" mpirxx.lib mpir.lib
 
 # MATLAB
 # MatLab version 7.3 (R2006b) or newer?
@@ -68,9 +70,9 @@ MEXFLAGS:=-DWINDOWS -DNOMINMAX
 # Standard include directories for MEX
 MEXINC:=$(CCINC)
 # Standard libraries to include
-MEXLIBS=
+MEXLIBS:=-lmpirxx -lmpir
 # Additional library search paths for MEX
-MEXLIB=
+MEXLIB:=-L"$(BOOSTDIR)\stage\lib" -L"C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB" -L"C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB" -L"C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib" -L"$(MPIRDIR)"
 
 # SWIG PYTHON INTERFACE
 # The following should resolve to the SWIG command
@@ -78,7 +80,7 @@ SWIG=swig
 # Location of Python header files
 INCLUDE_PYTHON=C:\python2.5
 # Location of Boost C++ library header files
-INCLUDE_BOOST=E:\windows\boost_1_42_0
+INCLUDE_BOOST=$(BOOSTDIR)
 
 # CIMG
 # CImg version 1.3.0 or newer?
index 93af3ef..34ede3f 100644 (file)
  *  \section compatibility Compatibility
  *  
  *  The code has been developed under Debian GNU/Linux with the GCC compiler suite.
- *  libDAI compiles successfully with g++ versions 3.4 up to 4.6.
+ *  libDAI compiles successfully with g++ versions 3.4 up to 4.7 (both 32 and 64 bits).
  *
- *  libDAI has also been successfully compiled with MS Visual Studio 2008 under Windows
- *  (but not all build targets are supported yet) and with Cygwin under Windows.
+ *  libDAI has also been successfully compiled with MS Visual Studio 2008 under Windows,
+ *  MS Visual Studio 2010 under Windows 64, and with Cygwin under Windows.
  *
- *  Finally, libDAI has been compiled successfully on MacOS X.
+ *  Finally, libDAI has been compiled successfully on MacOS X (both 32 and 64 bits).
  *
  *  \section download Downloading libDAI
  *  The libDAI sources and documentation can be downloaded from the libDAI website:
index dadfead..3565ca0 100644 (file)
 
     /// Define NAN
     #define NAN (std::numeric_limits<Real>::quiet_NaN())
+
+    #if defined(_MSC_VER)
+      // Disable unsafe warning (use of the function 'strcpy' instead of 
+      // 'strcpy_s' for portability reasons;
+      #pragma warning( disable : 4996 )
+      // Workaround for the char16_t type defined in Matlab and MSVC 2010
+      #if (_MSC_VER >= 1600)
+        #define __STDC_UTF_16__
+      #endif
+    #endif
 #endif