在VS中创建和使用静态库

网址:
https://docs.microsoft.com/en-us/cpp/build/walkthrough-creating-and-using-a-static-library-cpp?view=vs-2017

1. 创建一个静态库项目

  1. 在菜单栏上,选择“文件” ->“新建” ->“项目”
  2. 展开“已安装”->“Visual C++”,选择“静态库”
  3. 修改名称,点击确定以创建项目。
    在这里插入图片描述

2. 向静态库添加类

  1. 在解决方案资源管理器中打开MathFuncsLib项目的快捷菜单,然后选择“ 添加” ->“ 新建项”。选择“ 头文件(.h)”。指定头文件的名称(例如MathFuncsLib.h),然后选择“ 添加”按钮。显示头文件。

  2. 添加头文件代码`

#pragma once
 
namespace MathFuncs
{
class MyMathFuncs
{
public:
// 返回 a + b
static double Add(double a, double b);
// 返回 a - b
static double Subtract(double a, double b);
// 返回 a * b
static double Multiply(double a, double b);
// 返回 a / b
static double Divide(double a, double b);
};
}

  1. 选择“添加”->“新建项”,选择“C++文件(.cpp)”,
    指定源文件的名称(例如MathFuncsLib.cpp)
#include "stdafx.h"
#include "MathFuncsLib.h"
 
namespace MathFuncs
{
// 返回 a + b
static double Add(double a, double b)
{
return a + b;
 
}
// 返回 a - b
static double Subtract(double a, double b)
{
return a - b;
}
// 返回 a * b
static double Multiply(double a, double b)
{
return a * b;
}
// 返回 a / b
static double Divide(double a, double b)
{
return a / b;
}
 
}

  1. 在菜单栏上,选择 “生成”->“生成解决方案”,编译器会创建一共可供其它程序使用的静态库。
    在这里插入图片描述

3.1 在同一个解决方案下创建引用静态库的C++项目

  1. 右击“解决方案”,选择“添加”->新建项目
    在这里插入图片描述
    或 在菜单栏,选择“文件”->“新建”->“项目”,将解决方案选择为“添加到解决方案”
    在这里插入图片描述
  2. 新建C++项目,命名,点击确定
  3. 右击项目名称,比如MyExecRefsLib,选择“添加”->“引用”
    在这里插入图片描述
    在“项目”选项卡上,选中“ MathFuncsLib”复选框,然后选择“ 确定”按钮。
    在这里插入图片描述
  4. 要引用MathFuncsLib.h头文件,必须修改包含的目录路径。
    在菜单栏,选择“项目”,在MyExecRefsLib的“ 属性页”对话框中,展开“ 配置属性”节点,再展开“ C / C ++”节点,然后选择“ 常规”。在“附加包含目录”,MathFuncsLib目录的路径,或浏览它【浏览到项目路径下即可】。
    在这里插入图片描述
  5. 右击项目,点击 “项目设为启动项目”,将该项目激活
    在这里插入图片描述
  6. 通过#include "MathFuncsLib.h"在代码中包含标头,在此应用中使用该类。
#include <iostream>
 
#include "MathFuncsLib.h"
 
using namespace std;
 
int main()
{
double a = 7.4;
int b = 99;
 
cout << "a + b = " <<
MathFuncs::MyMathFuncs::Add(a, b) << endl;
cout << "a - b = " <<
MathFuncs::MyMathFuncs::Subtract(a, b) << endl;
cout << "a * b = " <<
MathFuncs::MyMathFuncs::Multiply(a, b) << endl;
cout << "a / b = " <<
MathFuncs::MyMathFuncs::Divide(a, b) << endl;
system("pause");
return 0;
}

3.2 在不同解决方案下创建C++项目

https://zhidao.baidu.com/question/1957071504113326380.html
如何链接便有好的静态库文件

  1. 在菜单栏,选择“文件”->“新建”->“项目”,将解决方案选择为“创建新解决方案”

  2. 在菜单栏,选择“项目”->“属性页”,设置包含目录、库目录,添加附加依赖项

2.1 添加工程的头文件目录:
VC++,设置“包含目录”:C:\Users\Administrator\source\repos\MathFuncsLib\MathFuncsLib
2.2 添加文件引用的lib静态库路径
VC++下,设置“库目录”:C:\Users\Administrator\source\repos\MathFuncsLib\Debug
2.3 链接器 -> 输入 ->附加依赖项【加上.lib的文件名】
MathFuncsLib.lib

#include "pch.h"
#include <iostream>
#include "MathFuncsLib.h"
using namespace std;
 
int main()
{
double a = 7.4;
int b = 99;
 
cout << "a + b = " <<
MathFuncs::MyMathFuncs::Add(a, b) << endl;
cout << "a - b = " <<
MathFuncs::MyMathFuncs::Subtract(a, b) << endl;
cout << "a * b = " <<
MathFuncs::MyMathFuncs::Multiply(a, b) << endl;
cout << "a / b = " <<
MathFuncs::MyMathFuncs::Divide(a, b) << endl;
 
system("pause");
 
return 0;
 
}
发布了28 篇原创文章 · 获赞 0 · 访问量 292

猜你喜欢

转载自blog.csdn.net/weixin_37964410/article/details/103684530
今日推荐