dev c++项目怎么用新建项目时候选择哪一种?

距的已经过去了接近两年时间,这段时间里获得了不少人的支持,也发现了一些问题。为了解决许多历史遗留问题,前一段时间我将整个项目完全推翻重写了一次,编码工作已经完成了,文档工作正在慢慢补上。

我一直致力于写平台无关的代码,并且在这个项目里面确实也不会用上专有的API。考虑到大部分模拟飞行玩家都是Windows用户,Windows平台是必须支持的。但我长时间在*nix下做开发,使用的工具链与微软系还是有一定距离,比如CMake在Windows上正常运作可能就有些困难了。在Windows上构建不会太难,但是一个示范介绍是绝对必要的。

这次展示的内容依旧使用自由软件工具链,但不运行于类似于Cygwin的模拟环境下,而是完全使用Windows原生API。选择的IDE是轻量级C/C++开发工具Dev-C++,这个软件有一段历史了,官方更是早已停更,版本号停留在4.9.9.2。这里采用的是Orwell升级版,可以。它附带了MinGW下的GCC及相关工具,GCC版本为4.9.2,稍显老旧,但支持BravoFinder中用到的C++11特性是足够了。

当然,在开始之前我们还需要将代码仓库给克隆下来。

这时,左侧的工程目录树中自动创建了dllmain.cppdll.h,而这是我们不需要的,直接将它们删去。接着,在目录树的根部(即项目名称处)点击右键,新建两个目录:DataSetDataStructure。把代码仓库中对应目录下的文件添加(Add To Project)到这两个目录中。

仍然在目录树的根部点击右键,选择Project Options。首先根据你需要的平台(32位或64位)选择合适的基本编译器设置,然后将语言标准设为ISO C++11。链接器参数中记得加上-lm,在计算坐标之间的距离时用到了不少数学函数。以下是一种建议的配置。

这时可以直接按下F9或F12来生成了,你也可以在菜单的Execute选项卡中看到。如果配置没有出差错,就可以在你设置的目录(默认在创建工程时选择的目录)下看到生成出来的库文件了。

这次在创建工程时注意选择类型为Console Application。仍然是删除默认文件,并添加仓库中的文件。演示用命令行前端只有一个源文件bf.cpp,位于CliExample目录。

  • 不修改源文件的做法:直接将Library目录复制一份(其实仅需要其中的部分头文件),并将目录命名为bfinder。这样做的话,需要添加的包含目录路径就是这个新的bfinder的路径。

选择上面一种做法之后,将相应的包含目录添加好。下图展示的是第一种做法的情况。

相应地,把含有bfinder.dll文件的目录的路径要添加到Library Directories中。其他设置参考动态库示范进行,主要是要设置C++11标准。另外,链接器参数这次不是加-lm而是-lbfinder了,因为我们调用的是BravoFinder库里的东西。

生成若没有问题,我们就得到了一个可执行文件。如果你没有改动源码,那么在使用前我们需要创建一个名为navdata.txt的文件,和可执行文件放在同一个目录中。文件中应且只应有某个导航数据Cycle的根目录路径(即含有NAVDATASIDSTARS的目录)。以下是运行结果示范截图。

代码仓库中的WebAPI是一个简单的演示,旨在告诉大家BravoFinder库的用途多样。为了方便快速地写出这样一个示例程序,我用了自己在2017年中实现的一个简单的用于Web开发的C++框架Scaffold。在Windows上构建它确实不算太简单,为了不至于让整个过程变得过于繁琐,我们在构建它的过程中会阉割掉部分难以配置的、没有用到的功能。

创建Scaffold项目时也应当作为一个库,建议的输出文件为scaffold.dll

建立DependencyFoundationHeaderUtility目录并将相应的文件添加进去。注意Plugin目录中的插件不需要使用,因此不用添加。

设置没有出错的话我们得到了scaffold.dll

之前为了顺利构建 Web API,费了一些功夫构建Scaffold框架,总共已经构建了3个项目,相信大家也比较熟悉了。Web API 这里主要注意以下几点。

按照上述说明应该可以得到一个可执行文件。拷贝代码仓库中的config.json到可执行文件所在目录,并编辑它。config.json的根是一个数组,里面的每一个元素都应该含有cycle(导航数据标识)和path(路径),若需要同时使用多组数据请自行添加。配置完成之后开始运行,初始化成功后会打印出Initialization

如果给定的出发和到达机场无误,则得到航路信息,如:

其实很多人应该已经看出了Dev-C++在这里的作用是一个GUI的Makefile生成器。但考虑到真正需要这篇指导的人可能并不熟悉GNU系工具链,还是很详细地写了。

生成的二进制文件可以在下载。

Dev-C++中使用静态链接库

在Dev-C++中,静态链接库的后缀是.a,这点和VS的lib不一样。

一、首先,我们建立静态链接库项目,

这个类定义了计算长方形面积的方法。
编译无误即生成了和项目名相同的SquArea.a库文件。注意,这里不是代码文件名而是项目名。

新建一个控制台项目,新建一个头文件square.h
这里把上面定义的类粘贴过来:

在入口main.cpp里引用该头文件,

进入项目属性参数设置,在链接栏增加下面

这里的意思是链接的时候把当前目录下Squarea静态链接库加入进来。

DevCpp作为一个轻量级的C/C++集成开发工具,那么如何使用及调试Dev-C++呢?

电脑、Dev-C++集成开发环境

打开Devcpp,点击菜单-文件-新建-项目,打开“新项目”对话框

在弹出的另存为对话框中,将项目工程文件也就是后缀为dev的文件保存到电脑的某个位置

之后,就可以看到代码编辑窗口,可以看到devcpp自动创建了一个main.cpp文件,并预先编辑好了一个框架代码

编写一个简单的代码,用来比较两个数字的大小,并将大的那个数字输出

保存代码,再打开菜单 运行,选择 编译->运行

先点击 ”编译“看看,可以看到一个“编译过程 ” 窗口

关闭 ”编译过程 “窗口,运行代码,可以看到程序运行良好

查询工程目录,可以看到已经生成了可执行文件

点击菜单-项目-项目属性,打开”项目选项“对话框

然后调试运行,在第14行设置一个断点(可以在该行右键,选择切换断点),然后可以看到在14上面有一个红色的点

之后,点击菜单 -运行-调试即可。


我要回帖

更多关于 dev c++项目怎么用 的文章

 

随机推荐