C/C++ Plugin for Intellij-Idea Community edition - c++

I'm using:
IntelliJ IDEA 2018.3.5 (Community Edition)
Build #IC-183.5912.21, built on February 26, 2019
JRE: 1.8.0_152-release-1343-b28 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
I want to use C/C++ code. I know that there is a separate IDE 'CLion' available for this, but is it possible to integrate C/C++ in this community edition of Intellij only? I don't want to have any seperate IDE.

There is no C/C++ support for IntelliJ IDEA Community and Ultimate at the moment.
Here is the related feature request. Even when implemented, it will be probably available only in the Ultimate version.

Related

Is it possible to target windows 10.0.14393 with C++/WinRT?

I would like to make an app for my Lumia stuck on Win 10.0.14393 (or 1609) using C++/WinRT. I've created a Blank app project with
Target platform version: 10.0.17134.0 and
Target platform min. version: 10.0.14393.
The project fails to compile with the following errors:
error C2039: 'DisconnectUnloadedObject': is not a member of 'winrt::BlankApp2::implementation::MainPageT'
error C2039: 'UnloadObject': is not a member of 'winrt::BlankApp2::implementation::MainPageT'
Is this a bug or intentional behavior? Please note, that setting any newer min. version results in successful build.
The latest version of C++/WinRT can support all versions of Windows 10, including 14393 and older versions as well.
Keep in mind that C++/WinRT is both a library and a language projection. The language projection provides access to Windows APIs targeting a given version of Windows. Each version introduces new APIs. So if you want to target a minimum version of Windows, you need to ensure that you limit yourself to the APIs available on that version of Windows. I would however recommend using the latest compiler and the latest Windows SDK as they include many bug fixes.
I suggest you use Visual Studio 2015 when targeting older C++/WinRT and Windows 10 updates. My impression is that most of those were delivered on top of Visual Studio 2015 with Visual Studio 2015 updates and Windows 10 SDK updates and C++/WinRT updates.
When using Visual Studio 2015 with C++/WinRT, you will need the latest update, Update 3. Check for updates and make sure that your copy of Visual Studio 2015 has the most recent updates. I was just using an install of Visual Studio 2015 Enterprise to recompile something that compiles fine with Visual Studio 2017 and found that I was missing tools and SDKs including for Win 10 SDK 10.0.14393 that were in the Update 3 which I had not yet installed.
You can also go to Programs and Feature from within Control Panel, look for Microsoft Visual Studio 2015 in the list and then do a right mouse click and Change which will allow you to check what is installed and change anything.
Working with C++/WinRT over the last few months I have used both the Visual Studio 2017 Community Edition and the Visual Studio 2015 Enterprise Edition.
I have seen differences when moving a solution from VS 2015 to VS 2017 that required me to review the Properties page of the solution. See also the discussion in synchronizing SDK with Windows 10 update and using WinRT with Standard C++
Working with the latest Windows 10 updates and VS 2017 works best for me because I am able to target the recent Windows 10 updates. However I have found that trying to target older Windows 10 updates with VS 2017 can be problematic.
I'm sorry that I can not be more specific. This whole area of C++/WinRT and Windows 10 updates has much more cowboy than I would like though it now seems to be settling down.
C++/WinRT is a template library that was originally an open source project on GitHub. My impression is that Microsoft has acquired it and it is now a standard product offering. I believe there was a significant rewrite of C++/WinRT at one time as the Visual Studio 2015 and then Visual Studio 2017 moved to implement more of the C++17 and proposed C++20 standards and the Technical Specifications for coroutines.
This seems to be an area still changing to some extent. However most of the changing was going on with VS 2015 and the early VS 2017 along with the SDKs. It seems to be pretty solid now with the latest updates.

TFS 2018 build fails: cannot open include file 'afxres.h'

We are testing a new new TFS 2018 SP1 server.
I was previously building a solution (4.5) which contains two unmanaged C++ projects originally written against the 2012 toolset.
Building that solution as-is on the new server worked fine. However, we have decided to retarget to 4.7.1 for our next release.
After making all the changes in the projects including targeting the 4.7.1 framework and the 2017 toolset (141), these projects fail to build with the error in the title.
I know this has to do with the C++ MFC/ATL redist.
The build server does not have VS 2017 installed and I do not want to install it unless absolutely necessary.
I did install the VS 2017 C++ redists x86 and x64 but it did not correct this.
Can anyone help me on that?
You need to at least install Build Tools for Visual Studio 2017 on your build server.
Build Tools for Visual Studio 2017
These Build Tools allow you to build native and managed MSBuild-based
applications without requiring the Visual Studio IDE. There are
options to install the Visual C++ compilers and libraries, MFC, ATL,
and C++/CLI support, and .NET and .NET Core support.
If that still not work, I'm afraid that you have to install the VS 2017 on the build server. (Note that do not miss the feature Microsoft Foundation Classes for C++ .)
UPDATE:
Please double check if you missed the Microsoft.VisualStudio.Workload.VCTools workload on the build server. See Visual C++ build tools for details.
If missed , just try using below command to install it:
vs_buildtools.exe --add Microsoft.VisualStudio.Workload.VCTools

SonarCFamily plugin for SonarQube Community Edition

I've tried to add the SonarCFamily plugin for SonarQube Community Edition (v 7.0)
i know that Community Edition is the only free version and it suppports only 9 languages but does not support a plugin for c++ projects
i've tried to add cppcheck plugin and it's working fine.
Any idea if it's possible?
SonarCFamily simply won't work for you without a commercial license. It is not a free analyzer.

Project targets platform version "8.1" but refrencing Windows 10 SDK

I am trying to learn DirectX 11 in visual studio 2017 recently. So, I reached to Introduction to C++ and DirectX Game Development Jump Start, which was quite old. I downloaded the project from github, and tried to build on my Visual Studio 2017 community edition. Unfortunately, I failed to do so.
I even installed all the different SDKs from Visual Studio Installer 2017.
And yet I am unable to build the file as the output shows:-
Project "SumoDX" targets platform version "8.1", but references SDK
"Visual C++ 2015 Runtime for Universal Windows Platform Apps v14.0"
which requires platform version "10.0.0.0" or higher.
Is there anything I am missing? I tried to change target platform but failed miserably.

What development environment is required to target `C++ 2008 Redistributable`?

Last week I inherited a legacy unmanaged C++ application.
Unfortunately the project settings are not 100% reliable, and there is no documentation. What I do know is that the product was deployed with Microsoft Visual C++ 2008 Redistributable x86.
My question is: what combination of IDE, SDK, and Platform ToolSet would you recommend using?
Unfortunately I haven't worked with the Windows SDK before, and the Platform ToolSet option is new to me. To make matters worse, I haven't written a line of C++ code in eight years! So... any feedback you can provide would be greatly appreciated :D
KNOWNS
Client Operating System
Windows 2008 R2
C++ Redistributable
Microsoft Visual C++ 2008 Redistributable x86 is deployed in production
Integrated Development Environment (IDE)
I would prefer to use Visual Studio 2012 (we also have: Visual Studio 2008, 2010, 2012)
UNKNOWNS
Platform ToolSet
Can I use VS2012 and target the v90 platform, or is it more stable to simply use VS2008?
Windows SDK
Which version of the Windows SDK should I install on the development machine if the client is using Microsoft Visual C++ 2008 Redistributable x86 in production?
I would start by trying to get the project to compile successfully in Visual Studio 2008, since you mentioned you already have that available.
I wouldn't bother trying to install another version of the Windows SDK (one comes bundled with VS 2008) unless you can't get the project to compile successfully in an out-of-the-box install of VS 2008. If not and you do want to try installing another version of the SDK, I would opt for version 7.1, the one that targets Windows 7.
There is unlikely to be any advantage in using version 6.1 of the SDK; new versions might add new features, but they generally retain backwards compatibility with the old versions. I would not, however, install any version of the Windows 8 SDK because that might end up confusing you as the developer.
Once you get everything up and going on VS 2008, you could try switching over to VS 2012 if you'd prefer to use it. (I still can't get used to the UI, but apparently someone likes it.) As you point out in the question, the easiest way of making this work correctly would be to target "v90", which is VS 2008 (set using the Platform Toolset option). That will basically allow you to use the VS 2012 shell for editing purposes, but the VS 2008 compiler and headers for builds. You won't get any of the C++11 features introduced with VS 2012, however, because you're not using the new version of the compiler; you'll be stuck with what was supported back in VS 2008.