Compile Visual Studio projects without having Visual Studio installed? - c++

Is there a way to compile a Visual Studio 2012 project without having the VS installed? I need to compile C++ stuff for windows quite rarely and buying the product is not justified as there's no profit (community projects). In most of the cases the project and solution files will be available. If there's a way to compile the code with SDK, could you please share an example?
Thanks!

You can download visual studio express for free. Whenever you build a solution, the bin folder in your project folder will contain the compiled code.
http://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx
EDITED: (per MS website)
Visual Studio Express 2013 for Windows Desktop enables the creation of desktop apps in C#, Visual Basic, and C++, and supports Windows Presentation Foundation (WPF), Windows Forms, and Win32.
Sign in to Visual Studio within 30 days with your Microsoft account to synchronize your settings across multiple machines and register your product.

Your best bet is likely going to be using msbuild which will allow you to build a solution or project without having Visual Studio installed.

If you have the free version VC++ Express installed (and thus the compiler toolchain), you might find it more interesting to use Eclipse CDT as IDE on top. At least the newer versions (I think since Helios) support using the native MS toolchain. You can import from native
VS projects also.
Eclipse is the more powerful IDE IMHO, and will additionally support other toolchains (either cross compiling, or Windows alternatives as MinGw GCC).

Related

Any problems with having Code::Blocks and MS Visual Studio on same machine

I have installed Code::Blocks on my (Windows) machine. It is working fine.
However there are some open source libraries that i would like to use. For this i will have to build the library on my machine. However the source code is available in the form of a MS Visual Studio solution file.
I've tried to use the 'Import Project' feature of Code::Blocks but got errors with that. I am now thinking of installing MS Visual Studio express edition to see if can build the library using it. I do want to keep my install of Code::Blocks.
I wanted to ask if there are any problems having these two IDEs (Code::Blocks & MS Visual Studio Express Edition) on the same machine? I know they use different default compilers.

How to compile VC++ 2010 projects using Visual Studio 2012 and Windows SDK 7.1

I have a lot of projects done with VS2010 in C++. Now we have switched to VS2012 but we want to continue building the projects with the VS2010 runtime (we need to support Windows XP).
To our understanding this could be possible using Windows SDK 7.1 as the VC compiler is there so we installed it. VS2012 recognized the SDK and now we have a Platform Toolset named Windows7.1SDK.
The problem comes when building the projects as some projects are returning a:
error MSB6006: "CL.exe" exited with code -1073741515.
Also, projects depending on the MFCs are failing too. MFCs aren't available with Windows SDK? Does this mean that we need to buy VS2010 licenses to install them on machines with VS2012 just to build using the VS2010 compiler?
Thanks in advance.
Looks like it's not possible at all, mainly because nothing but VS2010 is deploying the MFC libraries and we have a lot of projects using them.
We'll have to buy licenses for VS2010 and VS2012 :S
I would try raise the msbuild verbosity level (it is in Tools->Options->Project and Solution-> MSBuild) and check out the command of CL.exe with full parameters. Then check if it is different from what you saw on VS2010.
In fall Microsoft will release an update to support windows xp in visual studio 2012, you can read more in this MSDN blog:
http://blogs.msdn.com/b/vcblog/archive/2012/06/15/10320645.aspx

Other programs used to make C/C++ desktop applications besides Visual studio?

I'm unable to buy Visual studio. I'm just wondering if there's any other program besides Visual studio that can be used for developing C++ desktop applications.
Visual Studio has an Express edition which is free :)
For a non-Microsoft option, there is MinGW.
Microsoft offers free Windows SDK 7.1 with all compilers, headers and tools (nmake, all compilers, really good debugger etc.) for all supported Windows platforms. It, basically, full version of VS2010 tools without IDE (you have to use command-line one way or another). By the way, it has x64 compilers that are not shipped with VS2010 Express.
As an IDE I find Eclipse to be terrific. The amount of features and level of their customization are simply amazing and very useful. You can, most likely, configure Eclipse to run MS SDK command-line tools from it, but I haven't checked it myself.
You can download Visual Studio Express 2010 from Microsoft, it is free.
Can't go wrong with Visual Studio Express. It's free.
Ofcourse Visual studio express should be easy and free.
And if you need something to use in linux - http://qt.nokia.com/products/platform/qt-for-linux-x11/
another non-msft option is Eclipse:
http://eclipse.org/cdt/
Cygwin plus Cygwin Ports gives you a good approximation of the Linux development environment, for free, including the MinGW option (i.e., using GCC to create native Windows executables), Mono, KDevelop etc. etc..
Sharp Develop, DEVcpp, Mono D
but Visual Studio Express works just fine
QT is fine and cross-plateform. There is a QTCreator IDE with MinGW but you can use a plugin for eclipse to draw your application via eclipse CDT.
Qt. You can download latest versions here: http://www.qt.io/download/

Linking against older version of runtime with newer version of MSVC?

I own VS 2008 Pro, and would like to do compatibility testing with VS 2005's runtime MSVCRT80, but I do not want to buy it just for that. Is there a way to link against MSVCRT80 without getting VS 2005?
Thanks
Official support for native multi-targeting didn't appear until Visual Studio 2010, which allows you to select either v100 or v90 as your "Platform Toolset". There is no such feature in Visual Studio 2008.
There is a discussion here on how one can achieve the same effect in Visual Studio 2008, but it appears you need to have VS 2005 installed on your computer as well in order for this to work. It isn't going to work if you just have the runtime libraries installed because you need the proper version of the compiler and linker, which you'll only have if you install VS 2005.
On that note, I'm not really sure what you mean by "compatibility testing". If you compile your app against v90 in VS 2008, it's not going to work with the older versions of the runtime. You have to compile and link against the version you want your app to use.
Finally, consider whether it's really relevant or not. Since you must include MSVCRT with your application anyway, what's the advantage of trying to link against an older version of the runtime? Just include v90 and be done with it.
Links to a still-working (as of 11 Jan 2011) Microsoft download for Visual C++ Express 2005 can be found here:
http://apdubey.blogspot.com/2009/04/microsoft-visual-studio-2005-express.html
This should let you compile against the VS2005 runtime without having to buy anything.
(in case the blogspot article goes away, the link for the .iso is http://go.microsoft.com/fwlink/?linkid=57034).

How do I configure Qt to work with Visual Studio 2010?

I downloaded open-source version of Qt from the site and have compiled it with nmake, but I'm having trouble using it in my projects. It seems that Visual Studio can't find the Qt headers, even though I added the paths to my PATH, INCLUDE, and LIB variables. I tried installing the Qt Visual Studio add-in but it only supports Visual Studio 2008.
Has anyone gotten Qt to work with Visual Studio 2010? Or do I have to wait until Qt 4.7 is officially released for Visual Studio 2010 support?
Either download the pre-built vs2008 package or build it using cmake's vs2008 profile and then open the resulting .sln file in vs2010 and let it do the conversion.
edit - annoying feature so far is that the vs plugin doesn't support vs2010 which makes it essentially impossible to use for desktop app development.
Traditionally VS support was part of the paid licences, with the OS package you only get mingw support. Things are changing, but might have some rough edges for a while.
OTOH, mingw has a HUGE advantage: deployment. You don't have to chase around the vcredist_x86 files and all the associated voodoo. Just be sure to include all the .DLLs you use and that's it.
Also, there's QtCreator. It's not as featureful or omniscient as VS; but it does feel a lot nicer and easier to use. It takes off all the tedious work of nmake, and embeds the UI editors. And it's cross platform!
honestly, for me VS can drop dead this minute and i won't miss it.
Qt V4.8.0 contains prebuilt binaries for Visual Studio 2010 so you don't need to build manually anymore:
http://qt.nokia.com/downloads/windows-cpp-vs2010