链接器错误 - 其他包括目录问题?

时间:2012-07-18 23:30:11

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

我从来没有在我的项目中添加任何其他包含目录,所以我不确定我是否做得对。

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

但是当我尝试编译时,我遇到了这些错误:

  

错误36错误LNK2019:未解析的外部符号“unsigned int   __cdecl lodepng_decode32_file(unsigned char * *,unsigned int *,unsigned int *,char const *)“(?lodepng_decode32_file @@ YAIPAPAEPAI1PBD @ Z)在函数中引用   “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个链接器错误。

我做错了吗?

谢谢,

亚历

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

enter image description here 包含目录

enter image description here 图书馆目录

enter image description here 实际库的文件名包含在“附加依赖项”中。

答案 2 :(得分:0)

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

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