Visual Studio:哪个源文件包含特定的库(带"pragma comment")?
Visual Studio: which source file includes a particular library (with "pragma comment")?
EDIT:解决了James McNellis的建议,这使我找到了令人讨厌的库。这是我没有和垃圾箱核对过的。
我正在构建一个Visual Studio 2013项目,该项目使用"#pragma comment"来链接静态库,而不是在项目属性中列出库。在用新版本替换库之后,我得到一个链接错误,因为它仍然试图找到一些旧的库,例如,它找不到"library_v9"。Lib "当它应该链接"library_v12。自由"。我怎样才能找到旧图书馆的地址?以下是我尝试过的:
-
删除所有对象等,从头开始重建。
-
搜索"#pragma comment"不起作用,因为它被构建成几层宏,并且版本号是从_MSC_VER获得的,因此"9"answers"12"实际上从未出现在源代码的任何地方。
-
对所有链接到可执行文件中的库运行dumpbin/DIRECTIVES。它们都指向正确的"12"库版本
链接器有一个/verbose
开关,它会打印出一个详细的日志,包括它正在打开哪些库,它正在搜索哪些符号,以及它为什么要搜索这些符号。
通常,调试这类问题最直接的方法是将/verbose
添加到链接器选项中,在文本编辑器中打开构建日志,然后搜索您感兴趣的库名称或符号。在本例中,搜索"library_v9.lib"。链接器将告诉您是什么原因导致它打开该库。
您是否检查了属性->链接器->输入部分?
相关文章:
- 在头文件和 cpp 文件中使用一次 #pragma 时出现结构重定义错误
- #pragma 包(1)会导致分段错误
- 禁止显示有关包含文件中 #pragma 包的警告
- 编译时检查 #pragma 包的使用情况
- OpenMP #pragma omp for v/s #pragma omp parallel for 之间的区别?
- #pragma(*诊断)当将Clang分析器与GCC编译器混合时
- #pragma 警告不适用于 catch 语句
- (2 问题)"类"类型重新定义(即使 #pragma 一次),以及静态函数内的静态成员对象初始化?
- 函数中的"pragma omp parallel for"在另一个并行循环中调用函数时无效
- 如果没有 #pragma pop_macro #pragma push_macro 会发生什么?
- 为什么 #pragma 一次不防范多个非 constexpr 定义?
- 添加#pragma循环后出现Segfault
- 使用 #pragma 一次,#ifndef 在同一文件中包含保护
- #pragma 模板功能的链接
- 试图了解C++#pragma Arduino 中区域的使用情况
- #pragma 启动和 #pragma 退出的用例
- #pragma 包的奇怪行为
- 条件变量和#pragma Pack错误
- 如何使用 SQLite PRAGMA 线程 = X ;到C++代码中
- Visual Studio:哪个源文件包含特定的库(带"pragma comment")?