How to use newest MSVC compiler (2017) in old Visual Studio (2010)? - visual-studio

I have a weak computer and the interface of modern Visual Studios (2015/2017) works extremely slowly on it. I'm satisfied with the speed and functionality of the interface of Visual Studio 2010, but I want to use the latest features of C++.
How can I connect the compiler and debugger of VS2017 toolset to the VS2010 IDE?

I'm not sure you can do that. You can try changing the toolset directories. But I highly doubt that will work.
But I can suggest other approaches:
- switch off intellisence and other features of VS
- uninstall VS packages you do not need
- Try Visual Studio Code instead. If you are not tied to Windows, get a Linux OS and use it with Visual Studio Code.
- Otherwise use another editor to code in (like notepad++) and use only the command line to build projects (you cant use the debugger in that case)

Related

Visual Studio 2010 express compiler

I would like to know if I can somehow compile c++ code in visual studio express 2010 with a 2019/2022 compiler. I only want to use express 2010 as an editor. I get no results on google regarding this topic.
Edit: I can change from platform toolset V100 to V90 but I'd like V143 like VS 2022. Is it possible though?
It is possible, but why on earth would you want to continue using Visual Studio Express 2010 as your IDE? VS2022 is so full of goodies and the community edition is free to use.
That being said: The VS2019/VS2022 compilers are just cl.exe, link.exe etc... You can use these compilers instead of the VS2010 cl.exe, link.exe etc... The VS2010 integrated build system will not automatically find them, so you'll either have to fiddle around with paths, get in to trouble with compiler switches etc...
You could switch to makefiles (or CMake) to use the compilers and keep the IDE. VS2010 is then no more than a fancy editor.
Tip: Try compiling your code from the command line (cmd.exe) to get started. Or download VS2022 community edition.

Visual Studio 2019 install MFC library?

I am inheriting a C++ code base on Windows in Visual Studio 2019 and I'm trying to compile the code, but it seems like VS cannot find the header files in the MFC library, e.g. "afxdialogex.h". I couldn't find any sources on the internet on how to install MFC and it seems like it should come with Visual Studio. Any ideas?
Disclaimer: I have zero Windows experience as I have exclusive used *nix systems until now.
As documented:
In Visual Studio 2017 and later, MFC and ATL are optional sub-components under the Desktop development with C++ workload in the Visual Studio Installer program. You can install ATL support without MFC, or combined MFC and ATL support (MFC depends on ATL). For more information about workloads and components, see Install Visual Studio.
You can either select MFC when choosing workloads (on the right-hand side), or choose individual components.

What is the difference between visual studio and visual c++ IDE

What is the difference between visual c++ and visual studio.
Also codes written in visual c++ do affect the portability and functionality of the code??
Visual C++ is one of the languages that is supported in the Visual Studio IDE. I'm not aware of a separate Visual C++ IDE, and relevant searches return information about working in Visual Studio.
These are all part of Microsoft's development platform, and as such they most easily target Windows platforms and .NET. Beyond that I'm not sure I understand your question about portability.
I remember seeing Visual C++ awhile back but Microsoft has moved to making Visual Studio their single IDE.
Check out this wiki link for more information. It says that Visual C++ has migrated into Visual Studio. However, it seems there might be some compatibility issues if you are using an older VS. I see you tagged VS2010 so you may want to read up on it depending on what functions you're using. Looks like VS2015 update 3 is the latest release that captures those functions.
https://en.wikipedia.org/wiki/Visual_C%2B%2B

Using Visual Studio (Isolated Shell?) to program ARM device

I want to use Visual Studio (maybe Isolated Shell) to create a custom IDE for programming a custom ARM-based device in C. The device has no OS and is being used like a microcontroller.
Atmel's AVR Studio 5 uses the Visual Studio 2010 Isolated Shell and I would like to do something similar. I am currently using a gcc-based ARM compiler.
I've already been through MSDN's documentation for extending Visual Studio, but I can't find anything specific to this task. Can someone give me an idea of how to approach this? For example, is there some way for me to leverage the Visual C++ editor without having to use Babel to re-teach Visual Studio about C?
MSDN documentation is not enough if you want to create a new IDE in fact. My personal suggestion is that you learn from existing large samples, such as this Python IDE,
http://pytools.codeplex.com/
It is designed by Microsoft, so it provides much useful information that does not appear in MSDN.
However, reusing Visual C++ editor means you cannot use only Visual Studio 2010 Isolated Shell (I think), as that may require some assemblies that only full Visual Studio has.

Why do Visual Studio solutions need to be upgraded with every release of Visual Studio?

This is easily one of the most annoying "features" of Visual Studio in its history and I don't understand why it exists -- ever.
Why would a CodePlex project need to care what version of Visual Studio I am using?
Off the top of my head, the only thing I can think of is that some versions of Visual Studio might introspect assemblies searching for attributes to determine what to display in "Visual Designers" and "Property Editors". But why would that cause Visual Studio to not be able to open the project and allow me to browse its contents and compile?
It seems to me like Open Source in .NET is somewhat limited by the stupid dependency management exhibited by Visual Studio. In other words, if I am using Visual Studio 2008 and you are using Visual Studio 2010, then we have different solution files.
http://blogs.msdn.com/b/visualstudio/archive/2010/03/15/why-does-visual-studio-2010-convert-my-projects.aspx
Here's an example from the site as to why Visual Studio converts your projects to 2010 format.
For instance, Visual Studio runs
custom tools such as single file
generators for designers in order to
output code representing the changes
made to the designer. Many of these
custom tools are upgraded or
completely replaced in the newer IDE.
During conversion, the IDE knows which
custom tools to replace or upgrade. In
order to make round-tripping work, VS
would need old and new custom tools to
understand each other so as to ensure
that old and new designers can work
side by side. Other than designers,
the following files would also be
affected: resource editors, wizards,
code snippets, item and project
templates, diagramming and modeling
tools, and many more.tools, and many more.
Since 2010 knows about what tools 2008 has, it can convert forward to be compatible with the custom tools 2010 uses. 2008 has no idea about what 2010 is using, how could it? Therefore, it is impossible to convert backwards since it doesn't know what it needs to convert, nor how to.
I believe the purpose of this touches on what you stated in your comments. If you are using 2008 and I 2010 and I compile it, how could you possibly run it again? 2010 is backwards compatible but 2008 has no way to make itself forward compatible.
Thus, by recompiling the project in 2010 I ensure that no 2008 user may mistakenly think they can compile it.

Resources