在VS中创建和使用静态库
程序员文章站
2022-03-22 14:41:15
...
网址:
https://docs.microsoft.com/en-us/cpp/build/walkthrough-creating-and-using-a-static-library-cpp?view=vs-2017
1. 创建一个静态库项目
- 在菜单栏上,选择“文件” ->“新建” ->“项目”
- 展开“已安装”->“Visual C++”,选择“静态库”
- 修改名称,点击确定以创建项目。
2. 向静态库添加类
-
在解决方案资源管理器中打开MathFuncsLib项目的快捷菜单,然后选择“ 添加” ->“ 新建项”。选择“ 头文件(.h)”。指定头文件的名称(例如MathFuncsLib.h),然后选择“ 添加”按钮。显示头文件。
-
添加头文件代码`
#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);
};
}
- 选择“添加”->“新建项”,选择“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;
}
}
- 在菜单栏上,选择 “生成”->“生成解决方案”,编译器会创建一共可供其它程序使用的静态库。
3.1 在同一个解决方案下创建引用静态库的C++项目
- 右击“解决方案”,选择“添加”->新建项目
或 在菜单栏,选择“文件”->“新建”->“项目”,将解决方案选择为“添加到解决方案”
- 新建C++项目,命名,点击确定
- 右击项目名称,比如MyExecRefsLib,选择“添加”->“引用”
在“项目”选项卡上,选中“ MathFuncsLib”复选框,然后选择“ 确定”按钮。
- 要引用MathFuncsLib.h头文件,必须修改包含的目录路径。
在菜单栏,选择“项目”,在MyExecRefsLib的“ 属性页”对话框中,展开“ 配置属性”节点,再展开“ C / C ++”节点,然后选择“ 常规”。在“附加包含目录”,MathFuncsLib目录的路径,或浏览它【浏览到项目路径下即可】。
- 右击项目,点击 “项目设为启动项目”,将该项目**
- 通过#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
如何链接便有好的静态库文件
-
在菜单栏,选择“文件”->“新建”->“项目”,将解决方案选择为“创建新解决方案”
-
在菜单栏,选择“项目”->“属性页”,设置包含目录、库目录,添加附加依赖项
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;
}