VIsual Studio 2013 C++ problems with reference qualifiers
The Visual Studio C++11 support table clearly states that reference qualifiers have not been implemented yet, in a formal release. That includes Visual Studio 2013.
I have been unable to find confirmation in the release notes for the various Visual Studio "14" and 2015 previews that reference qualifiers are available in those previews (and therefore in the forthcoming Visual Studio 2015), though it wouldn't surprise me, given that the November 2013 CTP ostensibly supports them.
Furthermore, a blog post from the Visual Studio team also suggests that Visual Studio 2015 will support this feature.
Compilation fails randomly: cannot open program database
It is possible that an antivirus or a similar program is touching the pdb file on write - an antivirus is the most likely suspect in this scenario. I'm afraid that I can only give you some general pointers, based on my past experience in setting nightly builds in our shop. Some of these may sound trivial, but I'm including them for the sake of completion.
- First and foremost: make sure you start up with a clean slate. That is, force-delete the output directory of the build before you start your nightly.
- If you have an antivirus, antispyware or other such programs on your nightly machine, consider removing them. If that's not an option, add your obj folder to the exclusion list of the program.
- (optional) Consider using tools such as VCBuild or MSBuild as part of your nightly. I think it's better to use MSBuild if you're on a multicore machine. We use IncrediBuild for nightlies and MSBuild for releases, and never encountered the problem you describe.
If nothing else works, you can schedule a watchdog script a few hours after the build starts and check its status; if the build fails, the watchdog should restart it. This is an ugly hack, but it's better than nothing.
Linking libraries in Visual Studio
Set /MT flag.
Project - Properties - Configuration Properties - C/C++ - Code Generation - Runtime Library
Look into the first option (/MD)
https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx
Visual studio possibly erroneous compiler error
inv
is not initialised. Depending on project compiler settings, the compiler version and whether you are using debug or release the compiler may or may not detect this.
To fix the issue simply initialise inv
to have an initial value. The compiler is trying to protect you against difficult to find bugs due to inv
having some random value (which may work sometimes as that random value may be 0).
Missing C++ language standard option in Visual studio 2013
The option to set language standard was added in Visual Studio 2017.
It's just not possible with earlier versions.
Related Topics
Easiest Way to Flip a Boolean Value
Why Do I Get a Template Error If I Name My Function 'Swap', But 'Swap' Is Okay
How to Print the Value of Nullptr on Screen
How Does Std::Vector Support Contiguous Memory for Custom Objects of Unknown Size
Calling Constructors in C++ Without New
How to Make an Application Thread Safe
What Are Practical Uses of a Protected Constructor
Appending Std::Vector to Itself, Undefined Behavior
Why Use an Initialization Method Instead of a Constructor
How to Compare Two Standard Conversion Sequences Use the Rank of Contained Conversions
Why Do C++ Template Definitions Need to Be in the Header
Cin >> Fails with Bigger Numbers But Works with Smaller Ones
How Would One Call Std::Forward on All Arguments in a Variadic Function
Passing Non-Pod Type to Variadic Function Is Undefined Behavior