-
LIBCMT.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_eh_cont_table
-
LIBCMT.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __guard_eh_cont_count
-
LIBCMT.lib(loadcfg.obj) : error LNK2001: unresolved external symbol __volatile_metadata
-
hello.exe : fatal error LNK1120: 3 unresolved externals
-

-
__guard_eh_cont_table __guard_eh_cont_count __volatile_metadata -
这些符号或函数引用是在 LIBCMT.lib 库文件中定义的,将其添加到
LIB环境变量
中即可
-
D:\Program\VisualStudio2022\VC\Tools\MSVC\14.34.31933\lib\x64 -

-

-
-
很可能是工程中引用了
第三方开源库
或者
自己编译生成的库
,且只用了
头文件
,而没有将对应的lib文件路径加入到工程中。
- 一定是通过添加include或者lib的方式来解决的。重点是找到这个lib所在的文件夹位置
-
把Visual Studio中的环境变量拿过来
-
include
-
既然Visual Studio中可以正常使用,那么把它的环境变量拿过来,自己的命令行中也可以正常使用
-

-

-
D:\Program\VisualStudio2022\VC\Tools\MSVC\14.34.31933\include D:\Program\VisualStudio2022\VC\Tools\MSVC\14.34.31933\atlmfc\include D:\Program\VisualStudio2022\VC\Auxiliary\VS\include C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\winrt C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\cppwinrt C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\Include\um -
结尾添加上分号直接粘贴到include环境变量中
-
D:\Program\VisualStudio2022\VC\Tools\MSVC\14.34.31933\include;D:\Program\VisualStudio2022\VC\Tools\MSVC\14.34.31933\atlmfc\include;D:\Program\VisualStudio2022\VC\Auxiliary\VS\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\winrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\cppwinrt;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\Include\um;
-
-
粘贴之前
-
点击编辑文本
-
粘贴之后
-
-
lib目录
-
lib目录也采用这种方式来进行查找复制和粘贴
-

-
D:\Program\VisualStudio2022\VC\Tools\MSVC\14.34.31933\include D:\Program\VisualStudio2022\VC\Tools\MSVC\14.34.31933\atlmfc\include D:\Program\VisualStudio2022\VC\Auxiliary\VS\include C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\winrt C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\cppwinrt C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\Include\um -
在结尾加上分号
-
D:\Program\VisualStudio2022\VC\Tools\MSVC\14.34.31933\lib\x64;D:\Program\VisualStudio2022\VC\Tools\MSVC\14.34.31933\atlmfc\lib\x64;D:\Program\VisualStudio2022\VC\Auxiliary\VS\lib\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.22000.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.22000.0\um\x64;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64; -
编辑好的lib环境变量
-

-
-
-
-
手动指定lib库的位置
- 可以看到,指定了LIBPATH,那么现在就不再说这个LIBCMT.lib找不到了,也可以正常编译了

- 也可以直接编译出来模型了

CMT.lib找不到了,也可以正常编译了
- [外链图片转存中…(img-repAsUx1-1684685458341)]
- 也可以直接编译出来模型了
- [外链图片转存中…(img-8i7Ps5j8-1684685458341)]
文章描述了在使用VisualStudio进行编译时遇到的LNK2001错误,该错误涉及LIBCMT.lib库中未解析的外部符号。解决方案是确保将相应的lib文件路径添加到工程的LIB环境变量中。文章提供了具体的VisualStudio包含和库目录的路径示例,并指导用户如何编辑环境变量以解决编译问题。



979

被折叠的 条评论
为什么被折叠?



