I use the following when developing with VS2010/VS2012 Professional.
For VS2012, in Configuration Properties, General:
Platform Toolset: Visual Studio 2012 - Windows XP (v110_xp)

The folling apply to both VS2010 and VS2012:
In Configuration Properties, General, in place of Unicode, use
CharacterSet: Use Multi-Byte Character Set

In Configuration Properties, Linker, Input:
Additional Dependencies:  psapi.lib

In Configuration Properties, C++, Preprocessor, add
 _CRT_SECURE_NO_WARNINGS to the Preprocessor definitions
That will avoid scanf, printf, etc. deprecation warnings.  VS2005 used
_CRT_SECURE_NO_DEPRECATE instead. I'm not sure which was used by VS2008.

In configuration Properties, C++, Code Generations:
Runtime Library: Multi-threaded (/MT)
The default is Multi-threadded DLL which requires the Microsoft C++ runtime
library be installed by the volunteers whereas "/MT "does not -- at least
not if the latest CUDA runtime or OpenCL libraries also use the static
libraries (which I don't think they do).  /MT does work for CPU apps.

Those are the mandatory changes I make. I start with a C++ Win32
application that is Empty without pre-compiled headers.  I don't know if
that is required or not. I've just always done it that way.

If compiling and linking to the BOINC source rather than the boinc and
boinc_api libraries, I set:
Configuration Properties, C++, General
Multi-Processor compilation: Yes (/MP)
On a multi-core machine, each core compiles a source module making builds
go faster.  If using the libraries, it doesn't really help.

Jon Sonntag


On Thu, Feb 13, 2014 at 8:48 PM, David Anderson <da...@ssl.berkeley.edu>wrote:

> Jon:
> Thanks; I committed this.
> Can you please check
> http://boinc.berkeley.edu/trac/wiki/CompileAppWin
> and see if we need to add/change anything for VS2010 and VS2012?
> Thanks -- David
>
>
> On 13-Feb-2014 6:12 PM, Jon Sonntag wrote:
>
>> To compile applications with VS2012 that are XP compatible, you have to
>> set
>> the platform toolset in the solution to be "Visual Studio 2012 - Windows
>> XP
>> (v110_xp)" which requires aVS2012 update 1 at a minimum.
>>
>> Doing so results in  diagnostics_win.cpp reporting that FACILITY_VISUALCPP
>> is undefined. Adding the following code just above the line #include
>> "diagnostics_win.h" solves the problem.
>>
>>
>>
>> #if _MSC_VER > 1600
>>    //required for compiling with v110_xp to create XP compatible
>> executables
>>    #ifndef FACILITY_VISUALCPP
>>      #define FACILITY_VISUALCPP  ((LONG)0x6d)  //now defined in winerror.h
>>    #endif
>> #endif
>>
>> #include "diagnostics_win.h"
>>
>>
>>
>> Jon Sonntag
>> _______________________________________________
>> boinc_dev mailing list
>> boinc_dev@ssl.berkeley.edu
>> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
>> To unsubscribe, visit the above URL and
>> (near bottom of page) enter your email address.
>>
>>  _______________________________________________
> boinc_dev mailing list
> boinc_dev@ssl.berkeley.edu
> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
> To unsubscribe, visit the above URL and
> (near bottom of page) enter your email address.
>
_______________________________________________
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to