Never-build package 'XXXX' requires always-build package 'EhLib70'
控件包使用了DbGridEh。Requies也加入了ehlib70.dcp就是编译时不通过,提示:
Never-build package 'XXXX' requires always-build package 'EhLib70'
最后解决了,需要在Project->Options里的Description里将BuildControl 选项设置成Rebuild as needed
这是程序包的互相依赖是的问题,假如程序包A依赖程序包B,如果B改变了A如何办?这就看你在编译程序包时候的Build Control如何选择,如果选择Rebuild as needed那么这个包所依赖的任何单元只要一个改变它就会重新编译,如果选择Explicit rebuild那么只有你选择重编译时候才会重建,一般情况下程序包比较稳定所以一般都选择这个选项。你这种情况就是B选择了Rebuild as need,A选择了Explicit rebuild,这样B依赖的单元一改变B就被重建,但A间接依赖B所依赖的单元不被重建不符合逻辑,所以编译器禁止这样做,你只要把所有的程序包都设置为Explicit rebuild就可以了
Delphi 出现Never-build package 'a' requires always-build package 'b'错误的解决方法:
1、原理:
两个BPL包,如果A包requires B包,那么A包与B包的Build Control 必须一致,或者A包为Rebuild as needed(Always-build),B包为Explicit rebuild(Never-build)。
原因是:如果A包为Explicit rebuild,B包为Rebuild as needed,就是说A包是很稳定的,不需要编译,但A包requires的B包却是常变的,要经常编译的。那么,当B包改变的时候,理应要更新,而A包是Explicit rebuild,所以A包还是不编译,那么造成A包的内容是旧的,最终造成包的更新失败,如果,当应用程序调用A包的时候,就出错了。所以在A包requires B包的情况下,不允许出现“A包为Explicit rebuild,B包为Rebuild as needed”这种组合。Delphi就提示Never-build package 'a' requires always-build package 'b'这个Error了。
2、解决方法:
要把两个包的 Project-> Option 里的 Description 面板里的 Build Control设在一致,一般情况下是 Rebuild as needed
Never-build package 'XXXX' requires always-build package 'EhLib70'的更多相关文章
- 错误:Could not create the Android package. See the Output (Build) window for more details
错误:Could not create the Android package. See the Output (Build) window for more details. Mono For An ...
- 在spring添加注解时,第一行package报错configure build path
练习spring的ioc的注解的时候写上注解就会在第一行package报错configure build path. 用的spring4.2.4的jar包.经过上网查阅资料,可能是jar包冲突,解决办 ...
- 傻瓜式的go modules的讲解和代码,及gomod能不能引入另一个gomod和gomod的use of internal package xxxx not allowed
一 国内关于gomod的文章,哪怕是使用了百度 -csdn,依然全是理论,虽然golang的使用者大多是大神但是也有像我这样的的弱鸡是不是? 所以,我就写个傻瓜式教程了. github地址:https ...
- Eclipse项目导入Android Stuio 配置出现 Timeout waiting to lock buildscript class cache for build file 'H:\studioproject\Generic_SN\build.gradle'
Eclipse项目导入Android Stuio 配置出现 Error:Timeout waiting to lock buildscript class cache for build file ...
- Build step 'Execute shell' marked build as failure解决
今天jenkins构建时运行脚本报错如下: Build step 'Execute shell' marked build as failure 脚本没问题后来看了下原因是磁盘空间不足导致报错,清除下 ...
- TF42064: The build number already exists for build definition error in TFS2010
In TFS2008, deleting a build removes it from the database itself. If you delete a build called Build ...
- Jenkins Build step 'Execute shell' marked build as failure
问题出现: Jenkins一直都构建成功,今天突然报错:Jenkins Build step 'Execute shell' marked build as failure 问题原因: By defa ...
- 如何用TFS build definition添加自动建立nuget package 步骤
参考网址:https://www.visualstudio.com/en-us/docs/build/steps/package/nuget-packager https://docs.nuget.o ...
- angular package.json中start build
"start": "ng serve --host 0.0.0.0 --port 4200 --proxy-config proxy.conf.json", & ...
随机推荐
- N 组连续子串最大和
数组 a 中有 M 个数 , 将 M 个数分成 N 组 , 并且每组中的数据顺序和原数组中的顺序保持一致,求 N 组中的数据之和最大为多少? 向 dp 数组中赋初始值 ,如果 M == N ,则 dp ...
- js点击事件代理时切换图片如何防抖动
由于图片的加载速度比较慢,我们可以直接用64base对图片进行编码,把编码加在图片的url中~~~这样加载会快一些,也不会有切换图片时出现的抖动效果
- 一周学会Mootools 1.4中文教程:(6)动画
先看一下动画的参数设置: 参数: fps - (number:默认是50) 每秒的帧数. unit - (string:默认是 false) 单位,可为 'px','em',或 '%'. link - ...
- Xcode GDB 命令list
此文下半部分为转载:但是这里有一些我自己使用技巧,结合下面的文章,我们会有更多的收获,在此感谢原创者. --------------------- 关于调试异常崩溃: 一般崩溃是由内存使用错误 ...
- .NET DataGrid 导出Excel 无分页
#region 导出Excel // protected void BtnExcelClick(object sender, EventArgs e) { ToExcel(); } public vo ...
- MYSQL 的数据读取方式
例子: create table T(X bit(8)); insert into T (X) values(b'11111111'); select X from T; 这个时候会发现这个X 是乱码 ...
- 应用AXIS开始Web服务之旅(soap web services)——使用三种不同的语言访问创建的Web服务,分别是JAVA、VB、VC
一. 介绍 本文并不是想介绍Web服务的原理.系统架构等,我们假设您已经了解了关于Web服务的一些基本的概念.原理等知识.本文主要是针对那些已经了解Web服务概念,但是还没有亲身体会Web服务所带来令 ...
- BZOJ 4259 残缺的字符串(FFT)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4259 [题目大意] 给出两个包含*和小写字母的字符串,*为适配符,可以和任何字符匹配, ...
- Thread和ExecutorService(一)
ExecutorService是Java并发包里面的一个线程池服务 线程池的优点 复用已有的线程,消除任务中创建线程的开销 通过优化线程的数量,提高性能,保证处理器一直处于忙的状态,而不必创建这么 ...
- android UI进阶之弹窗的使用(2)--实现通讯录的弹窗效果
相信大家都体验过android通讯录中的弹窗效果.如图所示: android中提供了QuickContactBadge来实现这一效果.这里简单演示下. 首先创建布局文件: <?xml versi ...