问题标签 [search-path]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
737 浏览

delphi - Delphi 2010,DeHL,找不到文件

已经安装了Delphi 2010的试用版,希望能看看DeHL

但是,一定有一些我错过的东西,因为我无法找到如何包含任何单元而不会在编译时出现“找不到文件”错误......

我所做的是在项目“包含文件搜索路径”中包含到 pas 文件的路径。我也尝试使用包进行构建,但找不到 DeHL 包。我还尝试包含所有 DeHLs dcu 文件所在的 bin 路径,但没有结果。

有任何想法吗?

0 投票
2 回答
9297 浏览

path - 如何使用 MATLAB 搜索路径

我对 MATLAB 搜索路径有一些疑问:

  1. 当前目录在搜索路径上,但为什么不在“路径”的输出中?在哪里可以找到完整的搜索路径?

  2. 添加搜索路径的所有可能方法是什么?

  3. 考虑到添加搜索路径的所有可能方式(例如 pathdef.m、startup.m、MATLABPATH 环境变量等),添加搜索路径的顺序是什么?我认为这很重要,因为当不同搜索路径中存在同名文件时,将选择顶部的文件。

0 投票
5 回答
14350 浏览

xcode - 控制 Xcode 将包含哪个项目头文件

我的 Xcode 项目使用两个目标构建同一产品的变体。两者的区别仅在于使用了哪个版本的包含库。对于 .c 源文件,使用目标复选框很容易将正确的版本分配给正确的目标。但是,包含头文件总是包含同一个。这对一个目标是正确的,但对另一个目标是错误的。

有没有办法控制每个目标包含哪个头文件?

这是我的项目文件层次结构(在 Xcode 中复制):

并且 myCode.cpp 执行以下操作:

当然,我定义OLDVERSION了一个目标,而不是另一个目标。

注意#include必须如图所示。以下两项均因找不到文件错误而失败:

那么有没有办法告诉 XcodetheirLib.h每个目标包含哪些内容?

约束:
- 两个头文件具有相同的名称。作为最后的手段,我可​​以重命名其中一个,但我宁愿避免这样做,因为这会导致其他平台上的大量头发拉扯。
- 必须更改#include添加对封闭文件夹的引用也是我宁愿避免的事情,因为我需要使用条件编译指令执行两次。
- 我可以自由地调整我的项目,因为我认为合适

谢谢你的帮助。

0 投票
4 回答
2544 浏览

dll - Win32 App插件如何将其DLL加载到自己的目录中

我的代码是特定应用程序的插件,使用 Visual Studio 8 用 C++ 编写。它使用来自外部提供程序的两个 DLL。不幸的是,我的插件无法启动,因为找不到 DLL(我将它们放在与插件本身相同的目录中)。

当我手动将 DLL 移动或复制到主机应用程序目录时,插件加载正常。对于最终用户来说,这种移动被认为是不可接受的麻烦,我正在寻找一种方法让我的插件透明地加载其 DLL。我能做些什么?

相关细节:

  • 主机应用程序插件位于主机应用程序规定的目录中。该目录不在 DLL 搜索路径中,我无法控制它。
  • 插件本身被打包为插件目录的子目录,包含插件代码本身,以及与插件相关的任何资源(例如图像、配置文件……)。我控制该子目录中的内容,称为“捆绑包”,但不控制它所在的位置。
  • 该应用程序的常见插件安装习惯用法是最终用户将插件包复制到插件目录。

这个插件是插件的 Macintosh 版本的一个端口。在 Mac 上没有问题,因为每个二进制文件都包含自己的动态库搜索路径,我根据需要为我的插件二进制文件设置了它。要在 Mac 上进行设置,只需在 Xcode IDE 中进行项目设置。这就是为什么我希望在 Visual Studio 中有类似的东西,但我找不到任何相关的东西。此外,Visual Studio 的帮助绝非如此,谷歌也没有。

一个可能的解决方法是让我的代码明确告诉 Windows 在哪里可以找到 DLL,但我不知道如何,而且无论如何,由于我的代码甚至没有启动,它没有机会这样做。

作为一名 Mac 开发人员,我意识到我可能要求一些非常基本的东西。如果是这样的话,我很抱歉,但我已经没有头发可以拔了。

0 投票
3 回答
10879 浏览

r - 由于搜索路径上的名称冲突,如何在 R 中取消屏蔽函数

当我加载包debug以调试带有zoo对象的脚本时,我遇到了麻烦:函数indexfromzoodebug包掩盖了。我怎样才能解开面具index?一般来说,如何处理这些名称冲突问题?我们只是不使用debug带有“动物园”的包吗?

0 投票
3 回答
4615 浏览

visual-studio - VisualStudio 单元测试没有使用 P/Invoke 找到我的 DLL。我怎样才能解决这个问题?

我正在使用 Visual Studio 2008 在 Windows 7 上工作。

我有一个使用 P/Invoke 调用本机 DLL 的 .NET 程序集。我在我的 Visual Studio 解决方案中设置了一个单独的 .NET 单元测试项目,该项目通过对程序集进行各种调用来测试程序集。但是,当单元测试调用程序集,并且程序集使用 P/Invoke 进行调用时,它找不到本机 DLL。

当我编写一个独立的 .NET 控制台应用程序时,没有问题。程序集可以使用 P/Invoke 并成功找到 DLL。

在使用程序集之前,我可以通过使用 DLL 的绝对路径调用 LoadLibrary 来使单元测试工作。但是,这种方法很丑陋,并且需要绝对路径——这对其他用户来说是个问题。

简而言之,我的问题是 - 如何指定或修改执行 Visual Studio 单元测试时使用的 DLL 搜索路径?

任何帮助将不胜感激。

问候,丹

0 投票
1 回答
11084 浏览

xcode - 在 XCode 中包含来自自定义框架的标头

我应该调整FRAMEWORK_SEARCH_PATHS还是HEADER_SEARCH_PATHS当我向项目添加自定义框架时?

我有MainProject.xcodeproject这些链接SomeFramework.framework,这些链接只是从“产品”拖到SomeFramework.xcodeproject主项目中的“与二进制库的链接”构建阶段。

框架在其Headers目录中包含所有必需的标头。但是,在我的项目中,我不能简单地使用:

包括这个标题。构建失败“没有这样的文件或目录”。编译器标志包括,并且该目录包含带有目录符号链接的-F…/SomeFramework/build/Release框架。Headers

(顺便说一句:这是针对 Mac OS X 的。我不关心 iPhone。)

0 投票
4 回答
321 浏览

windows - 如何让我的程序在特定文件夹中搜索依赖项?

当我的程序打开时,在我的任何代码实际运行之前,它会自动尝试加载它导入的各种 DLL。它在应用程序所在的文件夹中查找,然后在一些特定的位置,如 \Windows 和 \Windows\System32。

如果我想使用一些自定义 DLL,但我不想将应用程序的文件夹与它们混淆,有没有办法将它们安装到子文件夹中,然后将一些东西放入 EXE 中,告诉它在哪里查找?

0 投票
2 回答
2924 浏览

c - 在共享库搜索路径中查找目录

我想要 dlopen() 特定目录中的每个共享库。为了做到这一点,
检索linux的库搜索路径的最干净的方法是什么。或者是否有更快的方法在该路径中找到特定目录?
posix会更好。

0 投票
1 回答
2596 浏览

linker - 运行时链接器在 solaris 上的可执行文件中忽略 RPATH

我正在尝试在没有 root 的 Solaris 服务器上编译samtools 。Samtools 依赖于 zlib。本机系统zlib编译不支持大文件,所以针对这个版本编译samtools有预期的效果:samtools只处理小文件。我需要它能够处理大文件。幸运的是,管理员在 /usr/local/apps/zlib-1.2.5/ 中编译了一个支持大文件的 zlib 版本。我可以通过添加-R /usr/local/apps/zlib-1.2.5/lib到 CFLAGS 来对此进行编译,但这似乎不起作用。症状如下:

当我尝试运行 samtools 时,它会因以下错误而崩溃:

如果我添加/usr/local/apps/zlib-1.2.5/到 LD_LIBRARY_PATH,那么 samtools 可以正常工作。

使用 ldd 和 readelf 分析 samtools 会产生以下结果:

显然在二进制文件的 RPATH 中也是如此/usr/local/apps/zlib-1.2.5/lib,据我所知,它应该在运行时搜索共享库。但是,ldd -s表明该目录从未被搜索过。将此路径添加到 LD_LIBRARY_PATH 并重新运行 ldd 命令具有预期的效果:搜索目录并找到正确版本的 libz。

那么如何/usr/local/apps/zlib-1.2.5/lib在不使用 LD_LIBRARY_PATH 的情况下强制 samtools 在运行时搜索?


编辑:这里的文档似乎表明该-R选项是正确的做法。但它不起作用。