【问题标题】:Linker errors - additional include directory issues?链接器错误 - 其他包含目录问题?
【发布时间】:2012-07-18 02:36:10
【问题描述】:

我从来没有在我的项目中添加任何额外的包含目录,所以我不确定我是否做对了所有事情。

我在属性菜单中添加了额外的包含目录 - 这些目录包括我要链接到的项目的头文件和 .cpp 文件。

但是当我尝试编译时出现这些错误:

Error   36  error LNK2019: unresolved external symbol "unsigned int
__cdecl lodepng_decode32_file(unsigned char * *,unsigned int *,unsigned int *,char const *)" (?lodepng_decode32_file@@YAIPAPAEPAI1PBD@Z) referenced in function
"struct rgbaImage __cdecl getRGBA(char const *)"
(?getRGBA@@YA?AUrgbaImage@@PBD@Z)   C:\Users\Alex\Documents\Visual
Studio 2010\Projects\ovltest\ovltest\main.obj   ovltest

除此之外,我还遇到 4 个链接器错误。

我是不是做错了什么?

谢谢,

亚历克斯

【问题讨论】:

    标签: c++ visual-studio-2010 linker


    【解决方案1】:

    您可能需要将 .cpp 和 .h 文件显式添加到您尝试构建的项目中(我假设您在谈论 Visual Studio,对吗?)。或者,如果这些文件被构建到库中,则必须在项目属性中添加该库(链接器 -> 输入 -> 附加依赖项)。

    【讨论】:

      【解决方案2】:

      include directories 告诉编译器在哪里可以找到包含的头文件。您需要分别指定库所在的目录,并且(通常)必须在第三处指定库本身(位于该位置):

      包含目录

      库目录

      实际库的文件名放在“附加依赖项”中。

      【讨论】:

        【解决方案3】:

        添加包含目录并不意味着其中包含的代码实际上会被编译。因此代码正在编译,因为您在这些目录中使用的任何声明都在那里,但由于尚未生成目标代码而无法链接。

        您需要将包含附加目录中的 CPP 文件的项目(或将 CPP 文件添加到现有项目)添加到您的解决方案中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-01-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多