# C/C++ Project Properties, Paths and Symbols, Project References

Project references are a powerful way of expressing dependencies between Build configurations in different projects. Specifically they perform 2 roles:

- Automatic propagation of Exported Settings from one project to another which depends on it
- Build, if necessary, referenced projects before dependent project

Unlike the Eclipse Common References page, this page allows setting references to specific configurations.

Since CDT 7 this functionality has been improved:

- Referenced projects are ordered

  and this order can be changed using the buttons provided. Referenced projects are built in the order listed in the dialog, and the order is used in the build for setting up the Include paths and Library link lines.

- Can reference another configuration in the same project

  It's allowed to reference another configuration in the same project.

- Referenced projects which don't exist in the workspace are shown in gray.

Projects list (main pane)
  Displays all other CDT projects which current project can refer to. All configurations are displayed for each project. A check mark indicates the configuration is referenced. Note that only one configuration can be checked in any given project.
  [Active] configuration presents in each configs list and represents current active configuration.
  Configurations can reference another configuration in the same project.
  Referenced projects, which don't exist in the workspace, are shown in gray.
Expand all
  Expands all configuration lists
Collapse all
  Collapses all configuration lists
Move up
  Move the project up in the references list
Move down
  Move the project down in the references list
Available for :
  CDT projects

Configuring Project References

- Project Properties, Resource page
- Project Properties, Builders page
- Project Properties, common C/C++ Configurations handling
  - Manage Configurations dialog
  - Create Configuration dialog
  - Rename Configuration dialog
- Project Properties, C/C++ Build category
  - Discovery options page
  - Environment page
  - Settings page
    - Tool Settings tab
    - Build Steps tab
    - Build Artifact tab
    - Binary Parsers tab
    - Error Parsers tab
  - Tool chain editor page
  - Variables page
- Project Properties, C/C++ General category
  - Documentation page
  - Export Settings page
  - File Types page
  - Indexer page
  - Language Mapping page
  - Paths and Symbols page
    - Includes tab
    - Symbols tab
    - Libraries tab
    - Libraries path tab
    - Source Location tab
    - Output Location tab
    - References tab
    - Data Hierarchy tab
- C/C++ Project Properties, Project References page
- C/C++ Project Properties, Run/Debug Settings page