-1

I've created and finished a project using Visual Studio 2013 and C++ programming language. However this was the first time that I use Visual Studio. (I've created this project by New-> Visual C++ -> General-> Empty project) Before I had always programmed in Linux/Ubuntu.

Now, I need to make a GUI to this project and I decided to use plotLab.(http://www.mitov.com/products/plotlab#overview)

While I was searching in this website to find the libraries that I need to download, I saw the following :

Our component libraries come in 3 versions a VCL

  • Firemonkey version (for Delphi / C++ Builder / RAD Studio XE3 to XE6)
  • MFC compatible Visual C++ version,
  • .NET 2.0-4.5 version (compatible with Visual Studio 2005 to 2013).

I'm confused a bit, because it is written Visual C++ version, and a .NET 2.0-4.5 version (compatible with Visual Studio 2005 to 2013). seperately. What should I do since I've never used .NET.

To other words, I'd like to use this PlotLab in my current C++ project which I've explained above but I'm not sure should I download libraries for Visual C++ or .NET 2.0-4.5 version?

hex494D49
  • 9,109
  • 3
  • 38
  • 47
newbornToCS
  • 3
  • 1
  • 4
  • The .NET version is for managed code use (which can be accessed by multiple languages including C#, VB, managed C++ , etc). The MFC VC++ version is for native C++ (non-managed). The link you provided describes this virtually verbatim to that. What is the problem? that you don't know the difference between managed and unmanaged applications written in C++? If you're unsure whether you're authoring a managed application, chances are, you're not. – WhozCraig Jul 11 '14 at 10:52
  • @WhozCraig until today, I've write c++ normally, I mean dont pay attention whether it is managed c++ or not, so could I continue with .NET just adding for GUI using with plotlab ? – newbornToCS Jul 11 '14 at 10:55
  • If I understand that question(big if), you're current C++ project uses their libs non-managed. Honestly I would investigate their non-managed code offering if you want to continue that route. as far as that goes, depending on how deep you are in your C++ code, you may be better off just tooling it for managed C++ and using the .NET framework version of their lib instead. Either way involves work. – WhozCraig Jul 11 '14 at 11:07
  • The title of this post _Is Visual C++ a programming language or an IDE?"_ is at odds to the content in the post which is about a product called `PlotLab`. As the content it is to do with versions of a product and compatibility rather than languages or IDEs as the title implied, the OP may be better served if they contact the makers of said product –  Jul 11 '14 at 11:13
  • 1
    @newbornToCS if you have a command line switch /clr in your project then it is managed, use an appropriate .net version, otherwise it is native so change the properties of your project to use MFC and link to that library. – AndersK Jul 11 '14 at 11:13
  • @WhozCraig My project is not a big one(it is project not a library)I've written a code which is mostly based on parsing strings etc.In this project, I've used TinyXML libraries and one boost library header. Now, I want to create a GUI for it using .NET . To do that, I guess I need to convert it managed C++ . Am I right? – newbornToCS Jul 11 '14 at 11:16
  • @Claptrap could you explain what should I do step by step? As I stated above, I'm really newbie in these areas. By the way I've created my project in visual studio 2013 ultimate by new->project->visual c++ ->empty – newbornToCS Jul 11 '14 at 11:20
  • @newbornToCS You don't have to convert it, but there is work to be done to move in and out of managed code. if this needs to be up fast, I would consider taking a few hours and seeing if their unmanaged C++ MFC solution is viable for you. Alternatively, (you've no idea how much I wince saying this) you may find it worth your time to consider writing your project in .NET from the get-go (you get the .NET framework along with that, which includes things like Xml parsing, and about a million other features you can utilize). I'm not a .NET fan but its hard to argue against its available features. – WhozCraig Jul 11 '14 at 11:23
  • @WhozCraig I need to know the fastest solution to continue to my way. Could you explain that one ? Claptrap suggested something but I did not understand fully. – newbornToCS Jul 11 '14 at 11:25
  • C++ and managed C++ are two completely different languages. Only the latter uses the .NET Framework. You pick the one you want by passing the `/clr` compiler switch. – Cody Gray - on strike Jul 11 '14 at 11:29
  • @newbornToCS I would recc exactly what Claptrap said, nearly verbatim. Either create a new MFC based application, add their libraries, and drop in your source following their examples long the way (they *must* have some), or change your project to MFC application and do the same. This isn't a proper form or tutoring how to use Visual Studio. Suggest you reference as many of *their* samples as you can (and they may even have one that allows you to drop in your code and do exactly what you want). Do some surfing. – WhozCraig Jul 11 '14 at 11:30
  • @WhozCraig I've found that :http://stackoverflow.com/questions/15598445/is-it-possible-to-run-unmanaged-c-normally-from-a-managed-c-cli-project Accepted answer looks like the recipe that I search ? – newbornToCS Jul 11 '14 at 11:32
  • Either create a new MFC based application,......or change your project to MFC application and do the same. In both suggestion you said create MFC ? @WhozCraig – newbornToCS Jul 11 '14 at 11:34
  • @newbornToCS yup. no managed code required if you can make that work. Seriously see if they have *any* MFC-based samples (I suspect they do) that do what you're looking for already-canned, then drop your code in and wire it to their setup. – WhozCraig Jul 11 '14 at 11:41
  • By means they, what do you refer ? @WhozCraig – newbornToCS Jul 11 '14 at 11:50
  • @newbornToCS I mean the plotLib authors. – WhozCraig Jul 11 '14 at 11:54

1 Answers1

0

.NET version applies to the .NET languages including Visual Basic, C#, J# and C++/CLI. that the library supports. In short the text means you can either use .NET language of the versions listed or or C++ with one of the specified versions. The two things are separate. As for the question title - Visual Studio is an IDE, but it comes with a collection of compilers for different languages including C++ and all the .NET languages.

Ivaylo Strandjev
  • 69,226
  • 18
  • 123
  • 176
  • @Ivaylo_Strandjev I'm you're saying that I can not use .NET with c++ ? – newbornToCS Jul 11 '14 at 10:53
  • Your answer points newbornToCS to `C++` what is correct. But `.NET` is not `C#`. It also includes e.g. `VB` and `managed C++`. – harper Jul 11 '14 at 10:53
  • @harper good point. I am not ver yexperienced in .NET and thus my not so good understanding. Still the library only has C# bindings as far as I can see – Ivaylo Strandjev Jul 11 '14 at 11:00
  • @IvayloStrandjev +1 C++/CLI is like any other managed language and can interface with properly written managed code. That said, no one I personally know with any grain of sanity enjoys writing C++/CLI. The syntax is an utter pain imho. – WhozCraig Jul 11 '14 at 11:11
  • Why does this answer talk about C#? That has nothing to do with the question. You are clearly confused, the .NET Framework is much broader than the C# language. If you only see C# "bindings", you are looking at the wrong thing. – Cody Gray - on strike Jul 11 '14 at 11:28
  • @CodyGray the library has C++ and C# bindings as far as I can see. The OP is confused because the library specifies the .NET and the C++ versions supported and thinks that the .NET version is related to C++ and that is what I try to explain. EDIT: actually this is not true it seems the library supports: `all the Microsoft .NET languages including Visual Basic, C#, J# and C++/CLI.` – Ivaylo Strandjev Jul 11 '14 at 11:32
  • @CodyGray I tried to edit the answer to be more precise. – Ivaylo Strandjev Jul 11 '14 at 11:35