在同一解决方案中(Visual Studio 2012),向项目添加静态库

5
我试图创建一个静态库,用于我的项目。这个库能够编译并生成*.lib文件。为了测试我的代码,我在同一解决方案中添加了另一个项目。当我尝试构建测试项目时,出现以下错误:
error LNK1120: 4 unresolved externals
error LNK2019: unresolved external symbol "public: __thiscall matrix::~matrix(void)" (??1?$matrix@M@@QAE@XZ) referenced in function _main
error LNK2019: unresolved external symbol "public: __thiscall matrix::matrix(int,int)" (??0?$matrix@M@@QAE@HH@Z) referenced in function _main C:\Users\Ryan\Documents\Spring 2013\ECE 4007\PointCloudLib\matrix_test\matrix_test.obj matrix_test
error LNK2019: unresolved external symbol "public: bool __thiscall matrix::set(int,int,float)" (?set@?$matrix@M@@QAE_NHHM@Z) referenced in function _main
error LNK2019: unresolved external symbol "public: static void __cdecl matrix::print(class matrix const &)" (?print@?$matrix@M@@SAXABV1@@Z) referenced in function _main
为了在我的代码中使用该库,我执行了以下步骤:
1.通过转到“参考...>添加新参考...”并选择我的库来添加对静态库的引用。
2.通过配置属性>C/C++>常规>其他包含目录将源文件的目录添加到附加包含目录中(我感觉这不应该是必要的,因为它有些违背创建库的目的)。
这些是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);
}
1个回答

0

您需要添加对静态库所在的库目录的引用:

Configuration Properties->Linker->General->Additional Library Directories


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接