XE7 link 运行时包问题
XE7 link runtime package issue
我正在将我的代码从 Delphi 2007 移至 XE7。我的程序使用后期绑定包的方式。所以我用 "link with runtime packages" 选项编译我的应用程序。这种方式我在2007上用了很长时间。
但在 XE7 中,相同的包结构,原因:
"Unit X was compiled with different version of Y.Txyz" 错误信息。
我的包裹中的 X 单元。 Y 单元也在库包中。关系似乎还可以。为什么XE7会报这个错?
我尝试了以下方法:
- 我清除了 .dcu 文件。
- 我在包中打开了 Build as Needed 选项。
- 构建所有包和应用程序文件。
编译器通过了一些错误,但在其他地方重复“..用不同版本编译..”类型错误..
这个问题我不是很清楚。 XE7的逻辑有变化吗?
最好的问候
我专注于这个问题,我意识到 XE7 与 Delphi2007 的一些差异。
编译器搜索 *.dcu 文件。如果以某种方式生成了多个版本的 *.dcu 文件,则其中一个包可能会产生 "unit compiled with different version" 错误。
如果源包声明为"Rebuild as Needed",当使用源包编译其他包时,重新编译单元并产生新的dcu文件。所以,相反,检查 "Explicit Rebuild".
我为所有包创建了公共 dcu 路径并在 "unit output directory" 中声明。
我正在将我的代码从 Delphi 2007 移至 XE7。我的程序使用后期绑定包的方式。所以我用 "link with runtime packages" 选项编译我的应用程序。这种方式我在2007上用了很长时间。
但在 XE7 中,相同的包结构,原因:
"Unit X was compiled with different version of Y.Txyz" 错误信息。
我的包裹中的 X 单元。 Y 单元也在库包中。关系似乎还可以。为什么XE7会报这个错? 我尝试了以下方法:
- 我清除了 .dcu 文件。
- 我在包中打开了 Build as Needed 选项。
- 构建所有包和应用程序文件。
编译器通过了一些错误,但在其他地方重复“..用不同版本编译..”类型错误..
这个问题我不是很清楚。 XE7的逻辑有变化吗? 最好的问候
我专注于这个问题,我意识到 XE7 与 Delphi2007 的一些差异。
编译器搜索 *.dcu 文件。如果以某种方式生成了多个版本的 *.dcu 文件,则其中一个包可能会产生 "unit compiled with different version" 错误。
如果源包声明为"Rebuild as Needed",当使用源包编译其他包时,重新编译单元并产生新的dcu文件。所以,相反,检查 "Explicit Rebuild".
我为所有包创建了公共 dcu 路径并在 "unit output directory" 中声明。