我从来没有在我的项目中添加任何其他包含目录,所以我不确定我是否做得对。
我在属性菜单中添加了我的附加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个链接器错误。
我做错了吗?
谢谢,
亚历
答案 0 :(得分:1)
您可能需要将.cpp和.h文件显式添加到您要构建的项目中(我假设您正在讨论Visual Studio,对吗?)。或者,如果这些文件内置到库中,则必须在项目属性中添加该库(链接器 - >输入 - >附加依赖项)。
答案 1 :(得分:1)
include directories
告诉编译器在哪里找到您包含的标头。您需要分别指定库所在的目录,并且(通常)必须在第三个位置指定库本身(位于该位置):
包含目录
图书馆目录
实际库的文件名包含在“附加依赖项”中。
答案 2 :(得分:0)
添加包含目录并不意味着包含在其中的代码实际上将被编译。因此代码正在编译,因为在那些目录中使用的任何声明都存在,但由于目标代码尚未生成而无法链接。
您需要在其他目录中添加包含CPP文件的项目(或将CPP文件添加到现有项目中)到您的解决方案。