C++Builder(选择任何版本;我们尝试过的最新版本是 10.3.3)坚持将完整路径写入它创建的
.cbproj
文件,特别是在某些 ILINK...
属性上。例如:
<ILINK_LibraryPath>C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\win64\release\;C:\Users\dclark\svst\Build64\;$(ILINK_LibraryPath)</ILINK_LibraryPath>
我们之前通过确保每个人都有相同的文件夹结构来解决这个问题,但这不再实用。 有没有办法让C++Builder只写相对路径?或者是直接编辑文件的唯一解决方案?
我有一个名为 OFFICE 的项目,我添加了要编译的 COM Server .cpp 文件,并将输出路径设置为 \obj。
在项目文件中我得到这个:
<CppCompile Include="c:\program files (x86)\embarcadero\studio\23.0\source\ComServers\Office2K\excel_2k_srvr.cpp">
<BuildOrder>4</BuildOrder>
</CppCompile>
这没问题 - 它可以工作,但是每次 BCB 更改版本都会破坏项目,就像刚刚从 22.0 到 23.0 所做的那样。
我更愿意说:
<CppCompile Include="$(BDS)\source\ComServers\Office2K\excel_2k_srvr.cpp">
<BuildOrder>4</BuildOrder>
</CppCompile>
或
<CppCompile Include="excel_2k.cpp">
<BuildOrder>3</BuildOrder>
</CppCompile> etc.
并依赖于某些路径(lib路径)中的条目,例如:
$(BDS)\source\ComServers\Office2K\
$(BDS)\source\ComServers\OfficeXP\
每次都必须从项目中删除和添加所有这些文件或以其他方式编辑项目文件,这很烦人。