c++建立工程(linux && windows)

https://www.csdn.net/gather_20/MtzaEgysMzYtYmxvZwO0O0OO0O0O.html

c++多个文件中如何共用一个全局变量

https://blog.csdn.net/wangqing_12345/article/details/51970451

编写一个c++工程

https://www.cnblogs.com/zhuzhenwei918/p/8568692.html

c++接触的很少,之前也只是会编写一个简单的cpp文件,但一个工程的实现,往往不仅包括源文件(.cpp后缀文件)一般还有头文件(.h后缀文件)等。一个c++工程中只能有一个main函数,这个函数所在的文件类似于前端中的入口文件,即从main函数开始执行整个工程。即有多个cpp文件,这些文件中也只有一个入口文件

说明,这里可以使用微软的visual studio进行编译运行,但实际在使用的过程中,可能vs反应很慢,所以,我们可以减少vs的一些不必要的功能。比如进入 工具 -> 选项 -> 源代码管理 -> 源代码管理插件 修改为无,另外,也可以在选项中将visual studio定期进行的更新关闭,或者其他一些没有必要的辅助功能都是可以关闭的,以增加运行效率。

  

基本概念之头文件

  头文件就是.h后缀结尾的文件。 如下所示,是一个头文件:

复制代码

#ifndef __OUTFILE_FRAMEDATA_H__
#define __OUTFILE_FRAMEDATA_H__

#include "outfile.h"

class Outfile_framedata : public Outfile
{
private:
    FILE *pFile;            
    int frameCount;      
    int num_of_dots;
    int recordlength;

    void FWriteInt(FILE* fp, int val);
    void FWriteFloat(FILE* fp, double val);
    void FWriteString(FILE* fp,const char* str);

public:
    Outfile_framedata(const char* file, int Nx, int Ny);
    ~Outfile_framedata(void);
    void writeFrame(double **matrix, int Nx, int Ny);
};

#endif

复制代码

  从这个文件中我们可以看出头文件的一些特点:

  • 定义了类,包括类的变量和方法,但是方法只是声明,具体语句没有写。
  • 头文件必须要有下面的几个语句。 且一般要求后面的文件前后有__来作为补充,另外要求英文字母全部大写,比如这个例子中这个.h文件名称为outfile_framedata.h。 
    • #ifndef 即if not define的缩写,意思是如果没有定义。
    • #define 那么就定义。
    • #endif 结束if
  • 而上面三个必要语句的作用就是可能会有多个cpp文件使用这个头文件(头文件也有可复用的作用),如果这个头文件没有被编译,就会进行编译,否则,就不需要再编译了,起了防止重复编译的作用。

基本概念之源文件

         源文件是工程中最重要的部分。 一般源文件的开头会引用头文件,如使用#include的方式进行引用 。

c++工程

  

    如上,我们建立了一个project工程(使用visual studio 2013)。 通过源文件上右键,就可以添加源文件,其他类似。

  如下所示,这是我们建立的文件。

       

   circle.h源代码如下所示:

复制代码

#ifndef __CIRCLE_H__
#define __CIRCLE_H__

class Circle
{
private:
    double r; // 半径

public: 
    Circle(); // 构造函数
    Circle(double R); // 构造函数
    double Area(); // 求面积函数

};

#endif

复制代码

  这个文件中就是定义了Circle这个类以及类中的私有变量和一些函数,而函数具体的语句是不需要写的。

  

  circle.cpp文件如下所示:

复制代码

#include <iostream>
#include "circle.h"

Circle::Circle()
{
    this->r = 5;
}

Circle::Circle(double R)
{
    this->r = R;
}

double Circle::Area()
{
    return 3.14 * r * r;
}

复制代码

  这个文件当中,我们将circle.h中未定义的函数进行了定义包括两个构造函数以及一个计算圆面积的函数。注意文件头要引入circle.h文件。

  注意:构造函数的作用是为了初始化工作,而析构函数是为了释放内存空间。一般,一个类可以有多个构造函数,但却只能有一个析构函数。如果类中没有自定义的析构函数,就会调用默认的析构函数完成清理工作,释放堆中分配的内存。

  main.cpp文件如下:

复制代码

#include <iostream>
#include "circle.h"
using namespace std;
void test(double a);
int main()
{
    double  a = 1.0;
    cout << "Please input the circle raduis: " << endl;
    cin >> a;
    test(a);
    Circle c(a);
    cout << "the area of the circle is : " << c.Area() << endl;
    return 0;
}
void test(double a)
{
    try
    {
        if (a < 0)
        {
            throw 0;
        }
    }
    catch (int)
    {
        cerr << "the number " << a << " is not fit for this!" << endl;
        exit(1);
    }
}

复制代码

  这个文件中,我们同样需要引入头文件 circle.h, 而不需要引入 circle.cpp,这个工程的入口文件就是main.cpp。 注意: 文件中 test是用于处理c++程序异常的。 

  ctrl + F5可以执行整个工程,最终执行效果如下所示:

  

  

   

  ok,这就是一个最为基本的c++工程了。 

打开工程文件

  选择 文件 - 打开 - 项目/解决方案,然后找到对应文件的 vcxproj 后缀文件即可在 visual studio 中打开此工程。然后ctrl + F5即可运行。

Linux下构建一个C++工程项目

https://blog.csdn.net/qq_32599479/article/details/80864046


在Windows系统下,我们可以使用Visual Studio等IDE帮助我们构建一个C++工程项目,本文在Linux系统环境中,使用make和vim构建一个C++工程项目

编译环境与工具
Ubuntu 14.04
g++
make
vim
一、安装vim和make编译工具
如果你的Linux系统没有任何文件编辑工具和项目构建工具,那么你需要安装它们。Ubuntu在默认的情况下,并没有提供C/C++的编译环境,因此还需要手动安装。如果单独安装gcc以及g++比较麻烦,幸运的是,Ubuntu提供了一个build-essential软件包。

(1)安装vim
ubuntu命令终端下键入
sudo apt-get install vim
1
检查vim是否安装成功
vim --version #如果在终端输出当前vim的版本号,如下图所示,则说明安装成功
1


(2)安装build-essential
ubuntu命令终端下键入
sudo apt-get install build-essential #支持gcc/g++、make等命令
1
检查make是否安装成功
make --version #如果在终端输出当前make的版本号,如下图所示,则说明安装成功
1
 
- 检查g++是否安装成功

g++ --version #如果在终端输出当前g++的版本号,如下图所示,则说明安装成功
1


二、使用vim编辑一个C++程序
程序实例:写一个整型的坐标点类point,然后在主程序中创建三个坐标点类的对象,并放入容器vector中,通过调用坐标点类point中的成员函数point::print()来输出每一个点的坐标。该程序一个包含三个文件:

main.cpp
point.cpp
point.h
(1)创建一个C++工程项目目录
新建一个名为“Point”的目录
mkdir Point
1
(2)编辑三个C++文件
进入./Point目录并使用vim编辑三个C++文件

cd ./Point
vim point.h
vim point.cpp
vim main.cpp

三个C++文件的内容如下

point.h
class point{
private:
        int x;
        int y;
public:
        point(int a,int b):x(a),y(b){}
        void print();
        ~point(){}
};

point.cpp
#include <iostream>
#include "point.h"

void point::print(){
        std::cout<<"x="<<this->x<<",y="<<this->y<<"\n";
}

point.cpp
#include <iostream>
#include <vector>
#include "point.h"
using namespace std;

int main(){

        point p0(3,4);//创建三个point对象
        point p1(1,2);
        point p2(5,8);

        vector<point> v;//创建一个存储point对象的容器

        v.push_back(p0);
        v.push_back(p1);
        v.push_back(p2);

        for(int i=0;i<v.size();i++)//打印容器中的所有point对象
                v[i].print();

        return 0;
}

三、构建C++工程项目
(1)编辑Makefile文件
在./Point目录下,使用vim编辑一个名为Makefile或者makefile的文件
cd ./Point
vim Makefile #vim makefile也是可以的,命令make会在当前目录下寻找Makefile或者makefile
1
2
Makefile内容如下
all:
    g++ main.cpp point.cpp -o app -std=c++11
clean:
    rm app
1
2
3
4
解释Makefile里面的内容
g++ main.cpp point.cpp # 使用g++编译器编译当前所有的cpp文件,main.cpp一定要放在第一个
-o app # 参数-o表示最终生成的可执行文件为app
-std=c++11 # 用于支持c++11的标准,-std=gnu++11用于支持c++11标准和gnu扩展特性
rm app # 删除app
1
2
3
4
(2)使用命令make构建C++工程项目
进入./Point目录下
cd ./Point # 该Point目录下应该有如下图的四个文件
1


在当前目录下执行命令make
make # 执行make,就可以构建C++项目
./app # 执行生成的app文件,可以看到最后的结果
1
2

--------------------- 
作者:哈工大的白朗 
来源:CSDN 
原文:https://blog.csdn.net/qq_32599479/article/details/80864046 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

visual studio------初建一个c++项目流程

https://www.cnblogs.com/duijinglianxinduijingxiuxing/p/8215050.html

我下载了一个visual studio 2015 装就装了好长时间,而且,探索了好久,才会初建一个项目,写一下流程,方便以后忘了,可以有个查找的依据。

首先,第一步,打开这个软件

然后,点击左上面的一系列选项当中的:文件->新建->项目->得到如下界面

点击:“Win32控制台应用程序”建立一一个新的项目,可以更改一下名称,点击“确定”

出现如下界面:

再接着点击:“下一步”,出现如下:

在“空项目”处,打对勾,选定,之后,点击完成。

如此,就初步创建好一个项目了!

接着,在“视图”->"其他窗口"->点击"属性管理器",进行操作

然后,界面如下,在建立的新项目符号上,右击鼠标,出现菜单,点击最下面的“属性”:

会出现如下界面,然后,“平台”选项x64(我电脑是64位),在“VC++目标”中,选择“包含目录”“库目录”这两个需要更改一下,路径具体怎么改,根据你opencv的位置,我的是这个位置,每个都不一样,我的是这样的路径:

包含目录:

H:\jiqishijue\opencv\build\include
H:\jiqishijue\opencv\build\include\opencv
H:\jiqishijue\opencv\build\include\opencv2

这三条直接放到里面。

库目录:

H:\jiqishijue\opencv\build\x64\vc14\lib

这条更改为这条。

 最后,选择“链接器”下的“输入”并选到“附加依赖项”进行更改

为:opencv_world330d.lib

 

点击“确定”后,该界面消失,重新打开“解决方案资源管理器”(在“视图”中选出)

选择“源文件”右击后,点击菜单中的“新建项”

点击后,出现如下界面:

选定“c++文件”名称,自己取,点击“添加”,完成!

相信坚持的力量!

猜你喜欢

转载自blog.csdn.net/happylzs2008/article/details/90814748