我正在尝试创建一个我将在项目中使用的静态库。库编译正常并为其创建* .lib文件。为了测试我的代码,我在同一个解决方案中添加了另一个项目。当我尝试构建测试项目时,我得到以下错误。
错误LNK1120:4个未解析的外部
错误LNK2019:未解析的外部符号“public:__thiscall> matrix :: ~matrix(void)”(?? 1?$ matrix @ M @@ QAE @ XZ)在函数_main中引用
错误LNK2019:未解析的外部符号“public:__thiscall> matrix :: matrix>(int,int)”(?? 0?$ matrix @ M @@ QAE @ HH @ Z)在函数> _main C中引用:\ Users \ Ryan \ Documents \ Spring 2013 \ ECE> 4007 \ PointCloudLib \ matrix_test \ matrix_test.obj matrix_test
错误LNK2019:未解析的外部符号“public:bool __thiscall&gt; matrix :: set(int,int,float)”(?set @?$ matrix @ M @@ QAE_NHHM @ Z)在函数&gt; _main <中引用/ p>
错误LNK2019:未解析的外部符号“public:static void __cdecl&gt; matrix :: print(class matrix const&amp;)”(?print @?$ matrix @ M @@ SAXABV1 @@ Z)&gt;在函数中引用_main
要在我的代码中使用该库,我执行了以下步骤:
这些是Microsoft的msdn网站上列出的关于创建自己的静态库的步骤,而其他人正在说的是解决问题的方法。
在项目中使用库需要做些什么吗?
此外,这是我用来测试库的代码:
#pragma once
#include "stdafx.h"
#include <iostream>
#include "matrix.h"
#define PI 3.14
#define matrix_f matrix<float>
int main()
{
matrix_f m(3,4);
for(int i = 0; i < 3; i++)
for(int j = 0; j < 4; j++)
m.set(i,j,PI/((i+1)*(j+1)));
matrix_f::print(m);
}