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 is compatible with the Qt projects out of the box, 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 add-in 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 cause problems due to Windows protection.
  • Start CppDepend.VisualStudioAddin.Installer.exe or Start VisualCppDepend and install the VS add-in from the start page.
  • Click the Install button for the right Visual Studio version



Analyzing a Visual Studio solution


  • Start Visual Studio after having installed the CppDepend add-in.
  • Open the Visual Studio solution containing the code to analyze.
  • Click the greyed CppDepend circle status (bottom right of the Visual Studio window)
    OR
    click the menu CppDepend > Attach new CppDepend project to current Visual Studio solution

    Note:
  • 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.
  • The benefit will be the ability 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 Abstractness vs. Instability: This section illustrate the Abstractness/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.
  • Fine-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.