“忽略特定库”的影响在视觉工作室中

发布于 2024-08-02 19:50:07 字数 225 浏览 5 评论 0原文

我正在使用一个作为静态库交付给客户的 API。 该库又利用了另一个由英特尔编译器构建的第三方库。该库依赖于一些我不拥有的英特尔库。当我构建测试应用程序时,我通过在 Visual Studio 的“忽略特定库”中指定这些库来解决这个问题。这里到底发生了什么? VS 从哪里得到这些符号呢?另外,

这样做是否会删除英特尔编译器的预期优化?

如果我获取这些库,是否会导致链接到我的库的可执行文件受到处理器限制?

I'm working with an API that is delivered to customers as a static library.
This library in turn makes use of another 3rd party library built with the Intel Compiler. This library has dependencies to some Intel libraries that I don't possess. When I build a test application I get past this by specifying these libraries in the "Ignore specific library" in Visual Studio. What actually happens here? Where does VS get these symbols instead? Also

Will doing this remove optimizations that were intended from the Intel Compiler?

If instead I would get those libraries, would that lead to processor restrictions on an executable linked to my library?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

荒芜了季节 2024-08-09 19:50:07

引用VS文档,这个选项...

...允许您删除指定的库或
图书馆列表中的图书馆
它在解析外部时进行搜索
参考。链接器解析
对外部定义的引用
首先在您的图书馆中搜索
明确指定,然后默认
指定的库
/DEFAULTLIB 选项,然后在
.obj 文件中命名的默认库。

即它告诉链接器在解析符号时不要考虑指定的库。只要链接器可以找到其他库中的符号,那么链接就不会失败。

如果您没有这些库,那么我很惊讶您需要指定任何内容 - 我不知道这会产生什么影响。

如果您想查看链接器实际执行的操作,请将“显示进度”选项设置为 /VERBOSE 并重新链接。

To quote the VS documentation, this option...

...lets you remove a specified library or
libraries from the list of libraries
it searches when resolving external
reference. The linker resolves
references to external definitions by
searching first in libraries that you
explicitly specify, then in default
libraries specified with the
/DEFAULTLIB option, and then in
default libraries named in .obj files.

I.e. it tells the linker not to consider the specified libraries when resolving symbols. As long as the linker can find the symbols in other libraries then the link shouldn't fail.

If you don't have the libraries then i'm surprised you need to specify anything - i don't see how that would have any effect.

If you want to see what the linker actually does, then set the "Show Progress" option to /VERBOSE and relink.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文