如何知道 .lib 需要哪些.dll
How to know which .dll is required by .lib
我正在尝试在我的项目中使用 V8。我已经将它构建为静态库,现在在out.gn/x64.release/obj
文件夹中,我有很多.lib
文件。根据此参数列表g++
:
--start-group
out.gn/x64.release/obj/{libv8_{base,libbase,external_snapshot,libplatform,libsampler},
third_party/icu/libicu{uc,i18n},src/inspector/libinspector}.a
-Wl,--end-group
我已经取消定义并链接了v8.cpp
文件中的以下库:
#pragma comment(lib, "v8_base.lib")
#pragma comment(lib, "v8_libbase")
#pragma comment(lib, "v8_external_snapshot")
#pragma comment(lib, "v8_libplatform")
#pragma comment(lib, "v8_libsampler")
#pragma comment(lib, "icuuc.lib")
#pragma comment(lib, "icui18n.lib")
#pragma comment(lib, "inspector")
但是现在我收到许多链接器错误:
1>------ Build started: Project: v8, Configuration: Release x64 ------
1>v8_libbase.lib(platform-win32.obj) : error LNK2001: unresolved external symbol __imp_timeGetTime
1>v8_libbase.lib(time.obj) : error LNK2001: unresolved external symbol __imp_timeGetTime
1>v8_libbase.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_StackWalk64
1>v8_libbase.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymSetOptions
...
1>C:...DocumentsVisual Studio 2015Projectsv8x64Releasev8.exe : fatal error LNK1120: 11 unresolved externals
我在这里读到过
如果要手动将 *.lib 文件添加到链接依赖项, 然后,您还负责链接到它们所依赖的任何DLL 上
所以我的问题是如何识别这些DLL以及如何链接它们?我正在使用Visual Studio 2015。
您应该阅读代码中使用的函数的文档。
例如,对于 StackWalk64 ,您可以在需求部分找到:
- 可再发行组件 - DbgHelp.dll 5.1 或更高版本
- 标头 - DbgHelp.h
- Library - DbgHelp.lib
- DLL - DbgHelp.dll
相关文章:
- 努力将整数转换为链表。不知道我在这里做错了什么
- 挂起和取消挂起一个文件DLL
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 导入库可以跨dll版本工作吗
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- 从C++dll访问C#中的一行主要参数
- 链接到自行创建的dll失败
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 叮当不知道PTRDIFF_MAX?
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 编译器如何知道 dll 导入的函数?
- 如何知道 .lib 需要哪些.dll
- dll 外壳扩展如何知道要执行的程序位置?
- 如何确保我的dll知道dll的调用方
- 我怎样才能知道我编译的c++ DLL是否在IDE中使用
- 想知道较低版本的Visual Studio是否可以使用使用较高版本的Visual Studio构建的dll
- 当.exe程序使用此.dll文件时,我如何知道在.dll文件中调用哪些函数?
- 在vc++中,有没有办法在没有任何头文件的情况下知道dll的导出类?