Dear all, Using different C/C++ compilers for different modules of the same binary/executable is always a bad idea and not only in Windows.
Different compilers can be used to create different binaries, not really integrated with each other's. In the Windows-OpenACS distribution (http://www.spazioit.com/pages_en/sol_inf_en/windows-openacs_en/) the core system (i.e. Aolserver and its modules, Tcl/Tk, xotcl, Thread, are all built with one single compiler (Microsoft Visual Studio 2013 Professional Editions). All other tools, utilities are built with what is more convenient, PostgreSQL 8.3.23 binaries with MinGW and PostgreSQL 9.3.1 with MinGW64. As build environment I would select your option #2, that is " Microsoft's compiler, using nmake from the command-line." In terms of target I would use at the moment Windows Server 2012 R2. Windows 7 is rather peculiar, but I do not know the actual user requirements. Hope this helps, Maurizio Martignano -----Original Message----- From: Andrew Piskorski [mailto:a...@piskorski.com] Sent: 10 August 2014 12:46 To: naviserver-devel@lists.sourceforge.net Subject: [naviserver-devel] Windows 7 recommended compiler and build tools? I just started looking into running NaviServer 4.99.6 (the latest release) on Windows 7 (64-bit), and am trying to figure out the proper approach to building it (plus my own custom code) from source. >From prior experience with ancient versions of Tcl and AOLserver, I know of at least three build approaches on Microsoft Windows: 1. Microsoft Visual Studio, using (brittle, ugly) GUI-based project files to control the build. 2. Microsoft's compiler, using nmake from the command-line. 3. Msys + MinGW, using Gnu make. Which of those do you recommend for NaviServer? Also, do I need to use the same compiler for everything, or is it feasible to say build NaviServer with MinGW, but Tcl or my own custom code with Microsoft's 2013 compiler? In NaviServer 4.99.6, the README gives a download link for msys_mingw8.zip, which dates from c. 2004. Is that old link just an oversight, or is there some reason I should use such an ancient version of MinGW rather than a current one? In the win and win32 subdirectories, I see *.sln and *.dsw files for use with Visual Studio 12.0. Do those work better/worse than MinGW? Also, is the command-line make-based build infrastructure set up to work with Microsoft's compilers, or is it only for use with MinGW? Does MinGW still only support 32-bit, and for 64-bit I need to instead use the "MinGW-w64" fork? Since MinGW-w64 handles both 32 and 64 bit, is there any reason to prefer the original MinGW over it? Is there any reason I should stick with 32-bit NaviServer, Tcl, etc. on Windows 7, rather than moving to 64-bit? Thanks in advance for your advice and tips! Btw, Microsoft's current compilers are apparently available free of charge, but just figuring out what you actually need to download and install is non-trivial. I found this advice from Jan. 2012 very helpful: http://www.willus.com/ccomp.shtml?p11 And here's the Microsoft stuff I actually downloaded and installed: - Windows SDK 7.1 for Windows 7 and .NET Framework 4: Rather than using the online installer (although it would work fine): http://www.microsoft.com/en-us/download/details.aspx?id=8279 I downloaded the GRMSDKX_EN_DVD.iso x86-64: http://www.microsoft.com/download/en/details.aspx?id=8442 http://download.microsoft.com/download/F/1/0/F10113F5-B750-4969-A255-274341A C6BCE/GRMSDKX_EN_DVD.iso As far as I could tell that's still the newest version of the SDK. From the Release Notes: http://go.microsoft.com/fwlink/?LinkID=186826 it's clear that it includes both the Visual C++ 2010 compilers for both 32 and 64 bit ("the same compilers that ship with Visual Studio 2010"), the MSBuild 4.0 command line build environment, etc. - The SDK does not ship with the necessary .NET Framework: http://msdn.microsoft.com/en-us/vstudio/aa496123 So I used the web installer to install .Net Framework 4.5.1 from 2013-10-12: http://www.microsoft.com/en-us/download/details.aspx?id=40773 NOT the older .Net Framework 4 from 2011-02-21: http://www.microsoft.com/download/en/details.aspx?id=17851 - VS Express 2013 for Windows Desktop: To get the GUI, I also installed the Express for Desktop version of Visual Studio, via the VS2013_RTM_DskExp_ENU.iso file: http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-wi ndows-desktop http://www.visualstudio.com/en-US/products/visual-studio-express-vs -- Andrew Piskorski <a...@piskorski.com> ---------------------------------------------------------------------------- -- _______________________________________________ naviserver-devel mailing list naviserver-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/naviserver-devel ------------------------------------------------------------------------------ _______________________________________________ naviserver-devel mailing list naviserver-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/naviserver-devel