Hi Farid,
Windows does not block symbolic links based on file extensions. The error you’re seeing with .hpp is not an intentional filesystem rule, but rather a side effect of how symlink creation is being attempted. On Windows 10, symbolic links require either Developer Mode enabled or elevated privileges; otherwise, mklink falls back to creating junctions, which only work for directories. When you tested with .exe, it succeeded because Windows treated it differently in that context, but there is no documented restriction against .hpp.
The reliable fix is to enable Developer Mode in Windows Settings → Update & Security → For Developers, which allows symlinks without admin rights. Alternatively, run your build in an elevated command prompt so mklink can create proper file symlinks regardless of extension. For ROS2 builds on Windows, this is a known requirement: CMake and colcon rely on symlink support, and without Developer Mode or admin rights, file links fail. In short, this is not a .hpp rule, but a permissions/configuration issue. You should enable Developer Mode or run the build as Administrator to resolve it.