C++ Visual Studio中的错误

C++ Visual Studio中的错误,c++,visual-studio,C++,Visual Studio,我在VisualStudio中遇到这个错误,我不知道原因。它甚至没有显示行号。有线索吗 错误1错误LNK2028:未解决 令牌0A000041无效\uuu cdecl 自由镜像* ?免费\u img@$$FYAXPAUImage@@@Z 在函数double中引用* __cdecl计算时间结构图像常数*,整数,结构时间基准 常数* ?计算zernike_矩@$$FYAPANPBUImage@@HPBUZernikeBasis@@@Z zernike_矩.obj测试库 你需要链接图书馆。免费img的

我在VisualStudio中遇到这个错误,我不知道原因。它甚至没有显示行号。有线索吗

错误1错误LNK2028:未解决 令牌0A000041无效\uuu cdecl 自由镜像* ?免费\u img@$$FYAXPAUImage@@@Z 在函数double中引用* __cdecl计算时间结构图像常数*,整数,结构时间基准 常数* ?计算zernike_矩@$$FYAPANPBUImage@@HPBUZernikeBasis@@@Z zernike_矩.obj测试库


你需要链接图书馆。免费img的定义在哪里?
您只是包含了.h而没有链接库

您需要链接库。免费img的定义在哪里? 您只是包含了.h而没有链接lib

您有一个例程

double * __cdecl calc_zernike_moments(struct Image const *foo,
                                      int baz,
                                      struct ZernikeBasis const *bar)
void __cdecl free_img(struct Image *foo)
这叫例行公事

double * __cdecl calc_zernike_moments(struct Image const *foo,
                                      int baz,
                                      struct ZernikeBasis const *bar)
void __cdecl free_img(struct Image *foo)
您没有提供与链接器匹配的免费img例程。

您有一个例程

double * __cdecl calc_zernike_moments(struct Image const *foo,
                                      int baz,
                                      struct ZernikeBasis const *bar)
void __cdecl free_img(struct Image *foo)
这叫例行公事

double * __cdecl calc_zernike_moments(struct Image const *foo,
                                      int baz,
                                      struct ZernikeBasis const *bar)
void __cdecl free_img(struct Image *foo)

您没有提供与链接器匹配的免费img例程。

该错误是链接器错误,而不是编译器错误,因此不会有与之关联的行号。相反,错误告诉您,您的函数calc_zernike_moments正在调用另一个例程free_img,它没有在任何TestLibrary的编译源代码中定义,因此您需要通过其他方式提供它。通常,此处缺少的是项目中需要包含第三方库,以便链接器可以引入免费img的实现。

错误是链接器错误,而不是编译器错误,因此不会有与之关联的行号。相反,错误告诉您,您的函数calc_zernike_moments正在调用另一个例程free_img,它没有在任何TestLibrary的编译源代码中定义,因此您需要通过其他方式提供它。通常这里缺少的是项目中需要包含第三方库,以便链接器可以引入free\u img的实现。

free\u img是一个函数,它要么是在项目中未包含的.cpp文件中定义的,要么是在未链接的DLL或静态库中定义的。如果是前者,则需要在源文件中搜索该函数,然后将该.cpp文件添加到项目中。如果是后者,则需要确定哪个库提供免费的\u img,然后找到该库的.lib文件。然后你可以这样做:

在开发环境中添加.lib文件作为链接器输入

打开项目的“属性页”对话框。有关详细信息,请参见设置VisualC++项目属性。 单击链接器文件夹。 单击输入属性页。 修改附加依赖项属性。 从…起
free_img是在项目中未包含的.cpp文件中定义的函数,或者是在未链接的DLL或静态库中定义的函数。如果是前者,则需要在源文件中搜索该函数,然后将该.cpp文件添加到项目中。如果是后者,则需要确定哪个库提供免费的\u img,然后找到该库的.lib文件。然后你可以这样做:

在开发环境中添加.lib文件作为链接器输入

打开项目的“属性页”对话框。有关详细信息,请参见设置VisualC++项目属性。 单击链接器文件夹。 单击输入属性页。 修改附加依赖项属性。 从…起