Getting started with CppDepend
Getting Started with CppDepend
How do I analyze my C\C++ applications using CppDepend?
- Run VisualCppDepend.exe from windows OS or launchVisualCppDepend.sh from Linux.
- Create New CppDepend Project
- Add your C/C++ projects.
The following kind of projects are managed by CppDepend:
- .vcproj,.vcxproj,.sln: Visual Studio projects.
- Qt projects : CppDepend treat out of the box the Qt projects, you have just to specify the qmake tool path.
- .build files : The recommended way to analyse your C\C++ projects other than the VS ones, is to use the BuildMonitor tool to intercept all compilation and link commands.
- Set of source files: You can use the ProjectMaker tool to describe the specification of your project. With ProjectMaker you can specify your source files, the include paths and the defines.
Click F5 to analyze your projects.The analysis will take a few seconds to a few minutes depending on the size of the projects.
- Once the analysis done, the result is displayed in the VisualCppDepend.exe UI.
Installing the CppDepend addin for Visual Studio 2017,2015, 2013, 2012, 2010
Download the CppDepend installation zip file
To install CppDepend, just install the files in a private application folder on your machine.
Don't install files in '%ProgramFiles%\CppDepend'. This will provoke problems because of Windows protection.
Start CppDepend.VisualStudioAddin.Installer.exe or Start VisualCppDepend and install the VS addin from the start page.
Click the button Install for the right Visual Studio version
Analyzing a Visual Studio solution
Start Visual Studio after having installed the CppDepend addin.
Open the Visual Studio solution containing the code to analyze.
Click the greyed CppDepend circle status (bottom right of the Visual Studio window)
click the menu CppDepend > Attach new CppDepend project to current Visual Studio solution
A CppDepend project can be attached to several Visual Studio solutions.
This is useful if you wish to analyze several C/C++ projects compiled with several Visual Studio solutions.
A benefit will be the possibility to navigate across several Visual Studio solutions opened in several Visual Studio instances.
The dialog opened has been populated with the Visual Studio solution. Here you can add more projects compiled from another solutions
Launch the CppDepend analysis start. It will just take a few minutes to analyze your code base for the first time.
What does the CppDepend report tell me about my code?
This section gives you an idea of the topology of your application.
This section gives you an idea of the size of each project within your
application in terms of code line and others metrics.
This section illustrates the size of your projects, namespaces, types
and methods in terms of code line. You can browse this view
dynamically by clicking the Launch Visual CppDepend on this Project icon
in the CppDepend.Project UI.
Project Abstracness vs. Instability:
This section illustrate the Abstracness/Instability principle explained in the projects metrics section.
This section shows all dependencies between project of your
application in a table.
Project Dependency Diagram:
This section shows all dependencies between projects of your
application in a diagram
Project build order:
This section gives you one of the possible build order for your projects.
If a cycle exists in your projects dependencies graph, this section
will report it.
CQLinq Queries and Constraints:
This section reports default CQLinq constraints which have been violated.
More about the CQLinq language and CQL constraints here.
You can build your own CQLinq constraints with VisualCppDepend.
This section recaps type metrics in a table. A link to the documentation
is provided for each metric.
I want to go further to have a better control over my code
Understand metrics yielded by CppDepend and read recommendations.
Get a new understanding of your code by playing with the CppDepend panels. Modify the view with the Level and Metric combo boxes.
Tune your report thanks to the Output panel in the CppDepend.Project UI.
Learn CQLinq, adapt existing CQLinq code rules and create your own ones.
Integrate the CppDepend report in your daily build process.
How can I master CppDepend Features?
You can start with these case studies for some known C++ projects.