gpt4 book ai didi

c++ - 从构建库切换到 exe 或 dll 时出现 Unresolved external symbol 错误

转载 作者:行者123 更新时间:2023-11-30 02:13:29 25 4
gpt4 key购买 nike

我正在构建一个作为库的应用程序,但为了确保我可以获得我想要的输出,我将其切换为生成一个 exe。我一这样做,就收到了几个关于未解析的外部符号的错误。

起初我以为我没有为我引用的第 3 方库设置路径,所以我将该文件夹添加到我的路径变量中,甚至将它添加到我的包含、引用和源文件中,只是以确保我拥有所有路径。

我仍然得到错误:

error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void __cdecl xercesc_2_8::XMLPlatformUtils::Initialize(char const * const,char const * const,class xercesc_2_8::PanicHandler * const,class xercesc_2_8::MemoryManager * const,bool)" (__imp_?Initialize@XMLPlatformUtils@xercesc_2_8@@SAXQBD0QAVPanicHandler@2@QAVMemoryManager@2@_N@Z) referenced in function "void __cdecl xsd::cxx::xml::initialize(void)" (?initialize@xml@cxx@xsd@@YAXXZ)

我在这里问它的原因是因为在 Visual Studio 中,当我将它构建为库时,我没有遇到这些错误,但是作为 dll 和 exe,我遇到了。

有人有什么想法吗?

最佳答案

构建一个库,链接器不需要解析导入的符号。只有当它开始将目标文件和库链接在一起时才会发生这种情况。

这就是为什么您只是在构建可执行文件时才开始看到错误。

确实,在 VC2008(和 2005,如果我没记错的话)中,使用项目属性 -> 链接器 -> 输入 -> 附加依赖项。你需要的库是用空格分隔的(奇数,嘿?)

祝你好运!

关于c++ - 从构建库切换到 exe 或 dll 时出现 Unresolved external symbol 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/168232/

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