Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/IDE/Project Management/Project Options    [ Add a report in this area ]  
Report #:  87804   Status: Open
Can't adjust include path search order
Project:  C++Builder Build #:   15.0.3890.3407
Version:    15.0 Submitted By:   ERIC YANG
Report Type:  Basic functionality failure Date Reported:  9/5/2010 7:59:22 PM
Severity:    Commonly encountered problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    All platforms Internal Tracking #:   280937
Resolution: None (Resolution Comments) Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: (1 Total Rating)
4.00 out of 5
Total Votes: None
Description
I have a project that use DDK header. I include the DDK path at Options\Directories and Conditinals\Include Path (Build Configuratin Base). When I compile the project it always generate error message because IDE search delayimp.h in DDK first. In order to sarch delayimp.h that is in Embarcadeo include path first  I add  $(BDSINCLUDE) to my base directories. But IDE always delete the $(BDSINCLUDE) path I can't adjust the include path search order by manual.

I do some test bellow.

In Directories and Conditionals(the first line) , I can't add path that is
inherited from environment option.
In C++ Compiler\Directories and Conditionals, I can't add path that is
inherited from environment option but I can add inherited path that is in
Directories and Conditionals(first line).

The above results are independent on  "Manage include and library paths"
checked or unchecked.

The above behavior is all the same between CB2010 and XE.

  
Steps to Reproduce:
same as description.

** CArends: Added as SYSOP **

This example isn't necessarily something anyone would want to do but it demonstrates the problem without needing to edit the environment options.

- Create a new project
- Edit Project Options
- Switch to the "Project Properties" page
- Uncheck "Manage include and library paths"
- Switch to the "Directories and Conditionals" page
- Choose the "Base" build configuration
- Click the ellipsis next to "Include path"
- Add two paths (eg. "C:\A" and "C:\B")
- Click Ok
- Choose the "Debug" build configuration
- Click the ellipsis next to "Include path"
- Add one of the paths from before (eg. "C:\B")
- Click Ok

exp: Include path should be "C:\B;C:\A;C:\B;{etc}"
act: Include path is "C:\A;C:\B;{etc}"
Workarounds
None
Attachment
None
Comments

Clayton Arends at 9/10/2010 2:23:32 PM -
To summarize I believe what Eric is saying is that you can't add a path to any of the directory search boxes if that path already exists somewhere in the inherited properties, base configuration, option set, etc.

This is also a problem if one developer's system has different default search paths than another developer's system.  If developer 1 adds "c:\mystuff" to a project's include path, and developer 2 already has "c:\mystuff" in "Tools | Options | Environment Options | C++Options | Paths and Directories" then when developer 2 loads the project that developer 1 created the IDE will remove "c:\mystuff" from the project's includes path.  When developer 2 saves this project this will result in developer 1 not being able to reference include files in "c:\mystuff" when they load the project again in the future.

One solution is for the IDE to honor the "Manage include and library paths" check box in project options.  Unchecking this box has no affect on whether the IDE removes the path reference.

This problem exists in CB2009 as well.

Server Response from: ETNACODE01