前言:
多工程开发的好处还需要慢慢体会。本文简单介绍vs如何多工程开发。
在这之前,我们说一些基本操作:
1、一个解决方案(solution)可以有1到多个工程(项目,project)。如下图所示,这也是我们本文最终实现的效果。其中,解决方案MultiPrjTest包含2个工程(Utils和UtilsTest),Utils工程生成lib库,而UtilsTest工程调用Utils生成库中的函数。右边对应的目录结构就是实际的文件夹结构。
2、c++程序从源码(.cpp,.h)到可执行文件(.exe),经历了多个中间阶段,并生成多种中间文件。其中编译阶段生成目标文件(.obj),链接阶段生成链接文件(.ilk)。这些文件在哪里呢?我们来看工程属性:项目–属性。
上面2图目录对应的实际文件夹如下:
3、vs如何将代码生成lib库。同样点出工程属性,点.lib然后在工程上点生成即可生成相应的lib库,本文将Utils工程生成静态库lib。
正文:
接下来结合代码和操作,讲怎么搞多工程。
1、代码如下:
Utils.h
int add(int a, int b); //声明一个函数
UtilsIpl.cpp
#include"Utils.h"
int add(int a, int b) //实现函数
{
return a + b;
}
utilsTest.cpp
#include"Utils.h"
#include<iostream>
int main() //测试
{
std::cout << add(1, 1);
system("pause");
}
2、Utils.h和UtilsIpl.cpp在同一个工程,utilsTest.cpp在另一个工程,如果想使用别的库,还需2个操作
首先要指定lib库的目录
其次要指定lib库的头文件的目录
3、最后还要工程间的引用关系
UtilsTest工程右键–添加–引用–勾选Utils–确定。
4、设置启动项目
UtilsTest工程右键–设为启动项目
5、最后按Ctrl+F5运行。
总结
细节很多。