gpt4 book ai didi

c++ - 你如何阅读 MSVC C++ 链接错误

转载 作者:搜寻专家 更新时间:2023-10-31 02:16:39 24 4
gpt4 key购买 nike

谁能给我解释一下一般情况下如何阅读 MSVC 链接错误。

一个例子是我刚刚点击的一个例子,我知道这意味着我在代码中的某个地方试图动态链接不存在的东西。

我想了解的是如何正确阅读错误消息,以便我可以准确计算出我在哪个模块上留下了 dllimport。

错误 LNK2019 未解析的外部符号“__declspec(dllimport) public: enum SILLY::PixelFormat __cdecl SILLY::Image::getSourcePixelFormat(void)const” (__imp_?getSourcePixelFormat@Image@SILLY@@QEBA?AW4PixelFormat@ 2@XZ) 在函数“public: virtual class CEGUI::Texture * __cdecl CEGUI::SILLYImageCodec::load(class CEGUI::RawDataContainer const &,class CEGUI::Texture *)”中引用 (?load@SILLYImageCodec@CEGUI@ @UEAAPEAVTexture@2@AEBVRawDataContainer@2@PEAV32@@Z) helloworldui C:\Users\XXXXXX\Documents\Audio Development\evil-sounds\build\helloworldui\cegui64sd.lib(ImageCodec.cpp.obj) 1

我认为这意味着 CEGUI::SILLYImageCodec::load 正在尝试加载 SILLY:Image::getSourcePixelFormat 作为 dll,而我希望它加载静态图书馆。

load@SILLYImageCodec@CEGUI@@UEAAPEAVTexture@2@AEBVRawDataContainer@2@PEAV32@@Z 位让我失望了——它似乎倒退了。

最佳答案

这意味着链接器无法找到函数 CEGUI::SILLYImageCodec::load 中调用(或以其他方式引用)的函数 SILLY::Image::getSourcePixelFormat .

该错误与静态库和导入库关系不大,在它查找的任何库中都找不到。如果找不到,无论您打算在哪里,链接器都会产生相同的错误的功能。您收到错误是因为您可能没有为链接器提供您希望它使用的库(根据您的说法,这很可能是错误,但它可能是由多种原因引起的;see here for more)。

名字修饰可能很麻烦,除非你想写一个名字修饰器,你通常可以忽略它(寻找 pretty-print 名称)。

关于c++ - 你如何阅读 MSVC C++ 链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36695518/

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