- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
“库路径”应该指向包的源文件吗?Delphi 7 文档说是的。但其他人说不:““库”路径应该仅指向编译文件(.dcp、.dcu)和(如果需要)资源文件(.res、.dfm)”。
更新:
问题是,如果您不在“库路径”中添加包的路径,那么每次创建新的 DPR 项目时,您都必须手动收集包的路径(很多)并将它们输入到项目的路径中。选项“浏览”框,否则您将得到“文件 xxx.dcu 未找到”。这听起来不太好。多年来,我习惯在库中添加所有路径,并且每次创建新项目时都无需手动添加路径。
Delphi 7 在设置路径时真是一团糟,官方文档是 0。:(
更新:
我已经做了改变。它有效,但它甚至还不是完美的(或者至少是优雅的):How to remove duplicate resources (RES, DFM) while using Delphi with non specific Library paths?
最佳答案
库路径的指向位置并不比编译文件(dcu/dcp 文件和 exe/bpl 文件)的输出路径指向的位置重要。
每个项目都应该有自己的输出路径。如果这样做,那么即使您将库路径指向源文件,二进制文件也将位于项目特定的文件夹中,因此永远不会干扰其他项目。
请小心使用全局(环境选项)库路径。我的实际上完全是空的。甚至像 $(BDS)\Lib 这样的标准 Delphi 文件夹也不在其中。为什么?因为它确保每个项目都需要在 dproj 中明确其对库的依赖关系。这意味着您可以加载和构建需要同一库的不同版本的项目,而不会出现错误,因为您的环境路径指向的库版本与项目所需的版本不同。这在调试时也有很大帮助,因为调试器将始终使用项目所说的它需要的版本,而不是全局环境路径恰好指向的版本。
如果您的任何库具有可视组件,您仍然不需要在全局环境路径上使用它们。您只需确保 IDE 使用您最常使用的版本中的 bpl。它是否是旧的确实并不重要(除了它可能会导致 dfm 的内容发生更改这一事实之外,但源版本控制应该对此有所帮助)。您只需要 IDE 中的 bpl,这样当您加载表单时它就不会向您吐槽。事实上,我的 IDE 通常没有安装任何第三方组件(即使项目使用它们),但是我不会做太多 dfm 工作,当我需要更改表单 pas 文件中的代码时,我只是告诉 IDE忽略所有错误(但保留引用!在表单的单元中)并在提交时恢复对 dfm 的任何更改。
哦,还有我总是从源代码编译。这样,如果我获得库中单个文件的补丁,我就不必经历整个安装过程,甚至不必重新编译组件包。我可以简单地将更新的源文件放入正确的文件夹中,然后像什么都没发生一样继续。
此外,我确实在所有项目中使用相对路径。我知道有些人遭受过这样的痛苦,但我从未遇到过问题。可能是因为我从来没有通过在 Windows 资源管理器中双击来打开任何文件,而是总是在 IDE 中打开任何文件,或者可能通过从资源管理器中拖放来查看文件(以前的版本),而不使其成为项目的一部分。相对路径使得加载和加载更容易制作项目副本,拥有任意数量的工作区 (Perforce),并在它们之间切换,而无需“修复”dpr 中的路径。
以上所有都是我在处理许多不同项目时所采取的做法,经常需要在我们自己的代码版本之间来回更改,这通常还涉及库版本之间的切换。
关于delphi - "Library path"应该指向包的源文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3666292/
我看过有关 CocoaPods 的指南,建议像这样导入所需的 pod 的库 header : #import 在哪里Library是库的名称(例如 #import )。 我还看到指南建议像这样导入
我正在尝试创建一个包含其他库的 PHP 库,我敢打赌我遗漏了一些基本的东西。 使用 AWS PHP SDK作为指南,我想创建一个库,在使用 Composer 安装后,它需要其他库,但是类的整个范围(包
我正在为 Android 产品开发我的 gradle 版本,以使产品风格正常工作。 我有以下项目结构: at.mkw.inlocs.android - Library Project at.mkw.i
使用@testing-library/react-hooks 我过去常常通过initialProps 传递模拟存储,正如Advanced Hooks 中提到的那样文档。假设我有一个代码: import
我试图获得一个静态链接到我的程序的音频库。我用 this灵活的包。为了让它运行,我必须按照描述构建 soloud 库 here .下载后不久,我在“build”文件夹中运行了“genie --with
我刚刚安装了 zkcm library在我的 kubuntu 机器上,我在编译 C++ 代码时遇到了问题。 我已经安装了 gmp 和 mpfr 库并检查它们是否工作;代码 mpfr_t m1, m2,
我正在尝试编译我的 native 代码。这是我的 android.mk 文件 //part1-static lib LOCAL_PATH := $(call my-dir) include $(CLE
我正在开发一个带有沙丘的大型图书馆。让我们调用这个库L . 为了避免造成大困惑,沙丘项目有许多较小的库:A , B , C , ... 这些库相互依赖。 我希望用户能够 opam install L
在 unix 之上使用 C 语言工作,我正在加载和使用共享库,如下所示: ... handle = dlopen("nameOfLib"); ... libInit(); ... libGoToSta
我试图找出一种更简单的方法来为XCode中的链接器构建阶段复制/同步框架列表。我知道我可以在Xcode中复制目标,但这是用于创建新的Cocoa Touch Unit Testing Bundle目标。
例如/lib/的描述是它包含系统的共享库文件。 图书馆到底是什么?我们谈论的库文件是否类似于在 C 中导入库?库文件中包含什么以及它们的用途是什么? 它与.dll 有什么关系 最佳答案 库只是一个代码
我有这样的目录结构 . --compile_c.sh --compile_java.sh --config.sh --execute_java.sh --run.sh --src --ccode
我正在更新一些 Makefile 以从 Make 3.81 移动到 3.82。在多个地方,原作者使用了类似这样的东西来构建静态库: all: lib$(library).a($objects) 这似乎
我是 Rust 的新手,正在尝试了解 Cargo 的东西。我在他们的常见问题解答中读到关于 "why do binaries have Cargo.lock in version control, b
我正在尝试使用 Microsoft Enterprise Library 中的 DatabaseFactory 方法。 using Microsoft.Practices.EnterpriseLibr
我刚刚升级到Xcode 5.1,突然出现一个新警告: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctool
然后新的Enterprise Library 6出来了,可以是downloaded here .我已将 EnterpriseLibrary6-binaries.exe 下载并解压缩到我的 C: 驱动器
我正在尝试将 native 库与我的 Eclipse 插件捆绑在一起。当我提供库的路径时 -Djava.library.path ,它完美无缺。 但是,当我将它添加到 MANIFEST.MF 中时文件
在我的 Android Studio 项目中,我有两个子项目/模块:一个 Android 应用程序(App1)和一个 Android 库项目(LibraryProject1)。 App1取决于 Lib
我最近使用 Google 的 Closure 编译器创建了一个 JavaScript 库:https://github.com/bvaughn/task-runner 我打算让这个库供那些也需要完整闭
我是一名优秀的程序员,十分优秀!