我有一个使用 freetype 库编译得很好的项目。
从那时起,我的操作系统已重新安装,因此 Visual Studio 2010 也已重新安装。
我重新包含并重新安装了所有 .lib .dll 和头文件。出于某种原因,现在如果我使用发布配置运行程序,它运行得很好。但是,如果我切换到调试配置,它会在 freetype 库函数上给我来自链接器的未解决的外部符号错误。
现在,我确定这两种配置的 C++ 目录是相同的,因为我使用解决方案设置中的所有配置选项卡重新设置它们。除此之外,两种配置“附加目录/附加依赖项设置”也是如此,以相同的方式设置。
我可以在项目文件夹中的发布文件夹和调试文件夹之间找到的唯一区别是调试文件夹中存在一个名为“vc100.idb”的文件,这是一个最小的重建依赖文件。这看起来很有希望,但删除它没有产生任何结果,所以我把它放回去了。
您对可能导致配置编译之间存在这种差异的原因有任何想法吗?
最糟糕的是,我可以继续在发布配置上编程,但我宁愿不继续这条路,因为我真的很想知道这个问题的根源。
提前致谢,
盖伊
错误:
1>freetype.obj : error LNK2019: unresolved external symbol _FT_Glyph_To_Bitmap referenced in function "void __cdecl freetype::make_dlist(struct FT_FaceRec_ *,char,unsigned int,unsigned int *)" (?make_dlist@freetype@@YAXPAUFT_FaceRec_@@DIPAI@Z)
1>freetype.obj : error LNK2019: unresolved external symbol _FT_Get_Glyph referenced in function "void __cdecl freetype::make_dlist(struct FT_FaceRec_ *,char,unsigned int,unsigned int *)" (?make_dlist@freetype@@YAXPAUFT_FaceRec_@@DIPAI@Z)
1>freetype.obj : error LNK2019: unresolved external symbol _FT_Load_Glyph referenced in function "void __cdecl freetype::make_dlist(struct FT_FaceRec_ *,char,unsigned int,unsigned int *)" (?make_dlist@freetype@@YAXPAUFT_FaceRec_@@DIPAI@Z)
1>freetype.obj : error LNK2019: unresolved external symbol _FT_Get_Char_Index referenced in function "void __cdecl freetype::make_dlist(struct FT_FaceRec_ *,char,unsigned int,unsigned int *)" (?make_dlist@freetype@@YAXPAUFT_FaceRec_@@DIPAI@Z)
1>freetype.obj : error LNK2019: unresolved external symbol _FT_Done_FreeType referenced in function "public: void __thiscall freetype::font_data::init(char const *,unsigned int)" (?init@font_data@freetype@@QAEXPBDI@Z)
1>freetype.obj : error LNK2019: unresolved external symbol _FT_Done_Face referenced in function "public: void __thiscall freetype::font_data::init(char const *,unsigned int)" (?init@font_data@freetype@@QAEXPBDI@Z)
1>freetype.obj : error LNK2019: unresolved external symbol _FT_Set_Char_Size referenced in function "public: void __thiscall freetype::font_data::init(char const *,unsigned int)" (?init@font_data@freetype@@QAEXPBDI@Z)
1>freetype.obj : error LNK2019: unresolved external symbol _FT_New_Face referenced in function "public: void __thiscall freetype::font_data::init(char const *,unsigned int)" (?init@font_data@freetype@@QAEXPBDI@Z)
1>freetype.obj : error LNK2019: unresolved external symbol _FT_Init_FreeType referenced in function "public: void __thiscall freetype::font_data::init(char const *,unsigned int)" (?init@font_data@freetype@@QAEXPBDI@Z)
编辑:好吧,这很奇怪。我已经从发布配置中的 include 和 library 目录设置中删除了所有freetype 目录信息,以及其他依赖项。并且发布的配置版本仍然有效!
这让我相信移动我的文件时缺少一些东西(与配置方面相比)。