“忽略特定库”的影响在视觉工作室中
我正在使用一个作为静态库交付给客户的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
引用VS文档,这个选项...
即它告诉链接器在解析符号时不要考虑指定的库。只要链接器可以找到其他库中的符号,那么链接就不会失败。
如果您没有这些库,那么我很惊讶您需要指定任何内容 - 我不知道这会产生什么影响。
如果您想查看链接器实际执行的操作,请将“显示进度”选项设置为 /VERBOSE 并重新链接。
To quote the VS documentation, this option...
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.