gpt4 book ai didi

c++ - 验证库 (.lib) 中使用的 CRT

转载 作者:可可西里 更新时间:2023-11-01 12:41:36 31 4
gpt4 key购买 nike

如何检查 Windows 中的静态库 (.lib) 链接到哪个运行时库?

我正在使用/MDd 编译我的项目,并且我假设我链接到的库正在使用/MTd 多线程调试

Error   7   error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) already defined in libcpmtd.lib(xlock.obj)    C:\...\msvcprtd.lib(MSVCP100D.dll)

LIBCPMTD.LIB = 多线程,静态链接

我知道有一个选项 /NODEFAULTLIB:"libcpmtd.lib" 我已经尝试并成功了,但我宁愿避免它。

最佳答案

我可以通过以下方式解决这个问题

> dumpbin /DIRECTIVES C:\..\ThirdParty\tidy\windows\lib\libtidy
.lib
Microsoft (R) COFF/PE Dumper Version 10.00.40219.01
Copyright (C) Microsoft Corporation. All rights reserved.


Dump of file C:\..\ThirdParty\tidy\windows\lib\libtidy.lib

File Type: LIBRARY

Linker Directives
-----------------
/DEFAULTLIB:"LIBCMT"
/DEFAULTLIB:"OLDNAMES"
...

它很清楚地链接到 MT。我使用/MDd 重新编译了库,它链接正常。

关于c++ - 验证库 (.lib) 中使用的 CRT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5375714/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com