65.9K
CodeProject 正在变化。 阅读更多。
Home

在 VC++ 中构建和实现静态库

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.50/5 (3投票s)

2012年8月6日

CPOL

2分钟阅读

viewsIcon

29097

学习如何从头开始构建静态库项目,并在 Visual C++ 解决方案中实现它

目标

创建一个简单的静态库,并在控制台应用程序中实现它。

要求

您的电脑上至少安装了 Visual Studio C++ 2008 Express Edition。

构建静态库项目

  1. 创建一个新项目。

  2. 将项目类型选择为“常规”。模板选择“空项目”。我将项目命名为 MyMathLib。设置名称后,按“确定”。

  3. “Win32 应用程序向导”对话框将弹出。按“下一步”,并在“应用程序类型”选项中选中“静态库”,在“附加选项”中可以取消选中预编译选项。

  4. 您需要编写类、属性和函数代码,以实现所需的功能。让我们为我们的库编写一些简单的函数。首先,我们需要创建一个头文件来声明这两个函数。这些函数将分别命名为 add 和 multiply。

    每个函数将接收两个整数参数,并返回一个整数值。

    #ifndef __MY_MATH_LIB__
           #define __MY_MATH_LIB__
    
           int add(int number_a, int number_b);
    
           int multiply(int number_a, int number_b);
    
           #endif

    声明完成后,让我们在 .cpp 文件中编写函数的定义。

    #include "MyMathLib.h"
    
           int add(int number_a, int number_b)
           {
    	return (number_a) + (number_b);
           }
    
           int multiply(int number_a, int number_b)
           {
    	return (number_a) * (number_b);
           }
  5. 按 F7 构建库解决方案。如果进入我们的 DebugRelease 文件夹(取决于我们的编译配置),我们的输出文件将是静态库。这意味着我们的库可以实现于任何 Visual C++ 项目中。让我们在控制台应用程序中使用这些函数。

实现静态库

  1. 转到解决方案资源管理器,右键单击解决方案项目,然后选择“添加”->“新建项目”。

  2. 将项目类型设置为“Win32”,模板设置为“Win32 控制台应用程序”。然后单击“确定”。我将我的项目命名为 TestMyMathLib

  3. 在“Win32 应用程序向导”窗口中,按“下一步”。确保应用程序类型是“控制台应用程序”,并在“附加选项”中选择“空”。

  4. 在解决方案资源管理器中,转到您的 Win32 应用程序项目根项目,右键单击,然后在子菜单中单击“设为启动项目”选项。

  5. 在开始编写 Win32 应用程序中的任何代码之前,我们需要将静态库项目注册为依赖项。因此,再次在解决方案资源管理器中,转到您的 Win32 应用程序项目根项目,右键单击,然后在子菜单中单击“项目依赖项...”选项。

  6. “项目依赖项”窗口将弹出。在“依赖项”选项卡上,确保选择了您的 Win32 应用程序项目。然后在依赖项列表中,选择您的静态库项目。

    在“构建顺序”选项卡上,确保您的静态库项目在您的 Win32 应用程序项目之前构建。

  7. 为 Win32 应用程序项目创建一个 CPP 文件,并编写以下代码
    #include <iostream>
    #include "../MyMathLib/MyMathLib.h"
    using namespace std;
    
    int main ()
    {
    	cout << "Testing my math lib" << endl;
    	cout << "Please enter a number ";
    	int number_a, number_b;
    	cin >> number_a;
    	cout << "Please enter another number ";
    	cin >> number_b;
    	cout << "The addition result for these numbers is ";
    	cout << add(number_a, number_b);
    	cout << endl;
    	cout << "The multiply result for these numbers is ";
    	cout << multiply(number_a, number_b);
    	cout << endl;
    	system("pause");
    	return 0;
    }
  8. 按 F7 构建解决方案。然后按 F5 运行和调试您的应用程序。应用程序应该如下所示

© . All rights reserved.