我正在使用作为静态库提供给客户的API。 该库反过来使用另一个使用英特尔编译器构建的第三方库。该库与我不具备的某些英特尔库有依赖关系。当我构建一个测试应用程序时,我通过在Visual Studio中的“忽略特定库”中指定这些库来解决这个问题。这里到底发生了什么? VS在哪里取代这些符号?还
这样做会删除英特尔编译器的预期优化吗?
如果相反我会得到那些库,会导致处理器限制链接到我的库的可执行文件吗?
答案 0 :(得分:1)
引用VS文档,此选项......
...允许您删除指定的库或 库列表中的库 它在解析外部时搜索 参考。链接器解析 对外部定义的引用 首先在图书馆中搜索你 明确指定,然后默认 用。指定的库 / DEFAULTLIB选项,然后在 在.obj文件中命名的默认库。
即。它告诉链接器在解析符号时不要考虑指定的库。只要链接器可以在其他库中找到符号,那么链接就不会失败。
如果您没有图书馆,那么我很惊讶您需要指定任何内容 - 我不知道这会产生什么影响。
如果要查看链接器实际执行的操作,请将“显示进度”选项设置为/ VERBOSE并重新链接。