创建库并使用

使用Visual Studio 2022

创建项目和解决方案

首先创建一个空项目,这里叫 Game,同时Visual Studio会帮你创建解决方案。这个项目是我们的应用程序。

1681827069227.png

创建项目来存库

以静态库为例、

右键解决方案,添加新项目 Engine

1681827159325.png

1681827190294.png

此时就有了两个项目, GameEngine

image-20230418221359135

打开 Engine 项目的属性,将配置类型改为静态库(注意上面的平台设置)。

1681827320913.png

写库文件

我们需要一个头文件和对应的cpp文件。我这样创建了目录(当然目录结构由你设计,这个无所谓):

Engine:
    - includes
        - Engine.h
    - Engine.cpp

1681827545896.png

打开 Engine.h ,设计一个sayHello函数来打印HelloWorld。注意,头文件中只声明函数,不定义具体功能。

#pragma once

namespace engine {

    // Print HelloWorld
    void sayHello();

}

打开 Engine.cpp,实现头文件中的功能(注意导入头文件哦)。

#include "includes/Engine.h"
#include <iostream>

namespace engine {

    // Print HelloWorld
    void sayHello() {
        std::cout << "HelloWorld!" << std::endl;
    }

}

这个库就写这么多东西,然后我们在应用程序中调用。

链接库

设置Include路径

首先需要头文件,打开项目属性,配置属性 > C/C++ > 常规 > 附加包含目录, 输入$(SolutionDir)Engine\includes

如果这里没有C/C++选项,请先在项目中创建一个C++文件

这里的$(SolutionDir)表示解决方案目录,如果你放在了其他地方,注意修改路径。尽量避免使用绝对路径。

然后这个时候,在项目中引入头文件就行。

引用库文件

这里右键Game项目,选生成依赖项项目依赖项,勾选Engine

1681827978470.png

1681828078677.png

在上个文章中,我说到设置库路径,打开项目属性,配置属性 > 链接器 > 输入 > 附加依赖项,添加glfw3.lib ,这里不这样做,是因为如果我们在vs中改了库的名字,我们还需要去项目属性中重新修改依赖项。如果按上面这样设置,那么一切都是自动的,vs会帮我们做好这些工作。

尝试调用库中的函数

我们打开Game中的Application.cpp,开始写代码:

#include "Engine.h"

int main() {
    engine::sayHello();
    return 0;
}

运行后成功打印HelloWorld。

最后修改:2023 年 05 月 10 日
如果觉得我的文章对你有用,请随意赞赏