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 from Linux.
  • Create New CppDepend Project

  • Add your C/C++ projects.

    The following projects are managed by CppDepend:

    • .vcproj,.vcxproj,.sln: Visual Studio projects.
    • .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.
    • Qt projects : The recommended way to analyse your Qt projects is to use the qmake tool to generate a .vcproj file from the .pro file, another option 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 and code source by CppDepend.Console.exe.
    This 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 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.
  • If you are running CppDepend Professional Version, copy your license file in the same folder where you installed CppDepend files.
  • Start CppDepend.VisualStudioAddin.Installer.exe
  • 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?

  • Application Metric: This section gives you an idea of the topology of your application.
  • Project Metric: This section gives you an idea of the size of each project within your application in terms of code line and others metrics.
  • VisualCppDepend View: 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.
  • Project Dependencies: 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.
  • Type Metrics: 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 begin with theses case studies for some known C++ projects.