Author: wyoung
Date: Tue Feb 19 02:40:07 2013
New Revision: 2721

URL: http://svn.gna.org/viewcvs/mysqlpp?rev=2721&view=rev
Log:
More improvements to VC++ build instructions

Modified:
    trunk/README-Visual-C++.txt

Modified: trunk/README-Visual-C++.txt
URL: 
http://svn.gna.org/viewcvs/mysqlpp/trunk/README-Visual-C%2B%2B.txt?rev=2721&r1=2720&r2=2721&view=diff
==============================================================================
--- trunk/README-Visual-C++.txt (original)
+++ trunk/README-Visual-C++.txt Tue Feb 19 02:40:07 2013
@@ -26,21 +26,42 @@
       2. For Visual C++ 2003, we had to disable the SSQLS feature
          because changes made in MySQL++ 3.0 now cause the compiler
          to crash while building.  See the Breakages chapter in the
-         user manual for workarounds, if you must still use VC++ 2003.
+         user manual for workarounds if you must still use VC++ 2003.
 
-      3. The VC++ 2005 and 2008 project files get built with both 32-
-         and 64-bit targets enabled.  VC++ 2003 didn't have 64-bit
-         compilers, so the project files for it have to be different
-         for that reason alone.
-         
-         If you need only one CPU type, by the way, you can change
-         this in Build > Configuration Manager.
+      3. The VC++ 2008 project files get built for 64-bit output, while
+         the other two build 32-bit executables.
 
-    The Visual C++ 2008 project files should convert without problems
-    in newer versions of Visual Studio.  The reason we don't ship such
-    project files is simply that the tool we use to create them hasn't
-    yet been updated to understand the new MSBuild based build system
-    that Microsoft moved to with Visual Studio 2010.
+         With VC++ 2003, we have no choice about this, since it only
+         supports 32-bit targets.
+
+         VC++ 2005 did have experimental 64-bit compilers available,
+         but their beta nature was only one reason we chose not to
+         use them.  The real reason is that the current MySQL++ build
+         system isn't currently set up to make it easy to build both
+         32- and 64-bit libraries and executables at the same time
+         within the same solution.  Bakefile allows it, but it would
+         require forking many of the build rules in mysql++.bkl so
+         we can do things like have separate MYSQL_WIN_DIR values
+         for each bitness.  (See below for more on this variable.)
+
+         For that same reason, the VC++ 2008 project files are set
+         up to build 64-bit libraries and executables *only*.
+
+    It is possible to upgrade these project files to work with newer
+    versions of Visual C++, but beware that the upgrade feature tends
+    to be problematic.
+
+    When converting the VC++ 2008 project files to VC++ 2012,
+    I found that it will screw up the output file names for the
+    libraries, so that none of the executables will link properly.
+    This problem is detected by the migration process, so that even
+    though the tool doesn't know how to fix it itself, you can fix
+    it up manually afterward.
+
+    There were also problems in VC++ 2010 when you had converted 32-bit
+    VC++ 2008 projects and then were trying to switch them to 64-bit.
+    It ended up being simpler in this case to just start over from
+    scratch and build your own project files.
 
 
 Using Nonstandard MySQL Installations


_______________________________________________
Mysqlpp-commits mailing list
[email protected]
https://mail.gna.org/listinfo/mysqlpp-commits

Reply via email to