A logical path means a path down from the root of the virtual tree using forward slash delimiters, and without an initial slash.
Consider the part of the virtual tree used for the cxRmi library:
(root) └── Ceda └── cxRmi <──── project directory has logical path Ceda/cxRmi ├── cxRmi.h ├── RmiConnection.h ├── Rmi.h ├── Skeleton.h ├── Stub.h └── src <──── folder for private source files ├── cxRmi.cpp ├── cxRmi.xcpj <──── project file ├── ResponseQueue.cpp ├── ResponseQueue.h ├── RmiCallee.cpp ├── RmiCallee.h ├── RmiCaller.cpp ├── RmiCaller.h ├── Skeleton.cpp ├── StdAfx.cpp ├── StdAfx.h ├── Stub.cpp ├── ThreadBlocker.cpp └── ThreadBlocker.h
Logical paths are used for:
The header files directly under the project directory are the public header files of the library which are typically imported as required in other projects
(root) └── Ceda └── cxRmi ├── cxRmi.h ├── RmiConnection.h ├── Rmi.h ├── Skeleton.h └── Stub.h
For example:
// MyFile.cpp
@import "Ceda/cxRmi/RmiConnection.h"
...
Note that Ceda/cxRmi/RmiConnection.h is a logical path and is the recommended way to import header files in Xc++ projects.