如何用Visual Studio制作libraries

如何用Visual Studio制作libraries

对于大的项目,学会制作libraries文件非常重要。就像java语言中将源代码打包成jar包,C++中将源代码打包成静态链接库。

下面我们要在一个解决方案中创建两个项目,一个项目编译产物为静态链接库文件,一个为可执行文件,这个可执行文件将会引用创建的静态库文件。

创建和配置两个项目

新建两个空项目: MultiMediaCamera

MultiMedia设置项目-属性-配置属性-常规-配置类型,选择应用程序(.exe)

Camera设置项目-属性-配置属性-常规-配置类型,选择静态库(.lib)

相关代码:

Camera项目

Camera.h

1
2
3
4
5
#pragma once
namespace camera
{
void Takepicture();
}

Camera.cpp

1
2
3
4
5
6
7
#include "Camera.h"
#include <iostream>

void camera::Takepicture()
{
printf("take picture");
}

MultiMedia项目

Main.cpp

1
2
3
4
5
#include "Camera.h"

int main() {
camera::Takepicture();
}

使用静态库文件

引入头文件

MultiMedia项目中引入Camera头文件。

使用相对路径添加,否则别人clone项目后无法正常使用。Visual Studio为项目配置了很多宏定义的值,$(SolutionDir)代表解决方案的根目录,$(ProjectDir)代表项目目录。

右键项目-配置属性-C/C++-常规-附加包含目录

1
$(SolutionDir)Camera\src

添加链接库

添加了头文件,但是还是没法链接到Camera项目生成的链接库文件。在Visual Studio中,我们只需要右键项目-添加-引用,然后在解决方案中引用Camera项目。

引用项目

结果

编译Camera项目,可以再输出结果中看到Camera.lib,这就是我们编译的静态库文件。

如果编译Multimedia项目,可以看到输出有Camera.libMultiMedia.exe

MultiMedia.exe是可以单独执行的,因为静态库已经编译成为了它的一部分。

运行结果



关注博客或微信搜索公众号多媒体与图形,获取更多内容,欢迎在公众号留言交流!
扫一扫关注公众号
作者

占航

发布于

2022-08-07

更新于

2023-10-04

许可协议

评论