vlambda博客
学习文章列表

C++建立项目编译EXE的初探(使用c++版的paddleocr开源项目)

感谢原文作者 云南青山 


头一次使用c++建立项目调试代码,打算编译成EXE,遇到了很多问题。

我的项目是:使用开源的c++版的paddleocr,从零基础开始,在自己本机搭建自己的调试项目。这个过程遇到很多很多的问题,幸好最后时刻得到了广州饶大神的远程指导,否则此事难成矣。

一、前提条件

我的是VS2019开发平台,所以,一定要如下图一样

C++建立项目编译EXE的初探(使用c++版的paddleocr开源项目)

一定要安装上VS2017c++。

二、建立项目及配置环境

①)新建项目的选择

C++建立项目编译EXE的初探(使用c++版的paddleocr开源项目)


我的是控制台的,因此,得如上图一样选择后再建立项目。

再看看我的项目文件夹结构:

C++建立项目编译EXE的初探(使用c++版的paddleocr开源项目)

项目的sln在外面,而c++的cpp文件在MyC++PaddleOCR里面。这两个不在同一目录,而Cpp目录保存的是各种dll,lib和*.h的各种参数文件。

②配置项目

C++建立项目编译EXE的初探(使用c++版的paddleocr开源项目)


在“解决方案”点击右键找到“属性”,然后如图所示,选择好平台,我的是X64的,所以要这样选择,否则编译定出错。因为默认有些是32的。

然后,在项目上点击右键找到“属性”,弹出如下图。

C++建立项目编译EXE的初探(使用c++版的paddleocr开源项目)

上图位置,注意看。包含目录和库目录,需要设置。其中的 ..\Cpp 代表的是,Cpp目录在*.cpp文件的上一级目录,不在同一目录。

如何,如下图。

C++建立项目编译EXE的初探(使用c++版的paddleocr开源项目)

预处理器这里,我因为是建立控制台,因此,预处理这里改为: _DEBUG;_CONSOLE;%(PreprocessorDefinitions) 注意哦,原来默认是: _DEBUG;_windows;%(PreprocessorDefinitions)

再如下图。

C++建立项目编译EXE的初探(使用c++版的paddleocr开源项目)

上图中,附加依赖项这里,非常重要哦,添加一个库的引用 PaddleOCR.lib; 有个分号,用于相隔。引用的是.lib而不是.dll,尽管两者名称相同并且都是链接库,但是只能引用前者。再如下图。

C++建立项目编译EXE的初探(使用c++版的paddleocr开源项目)

在系统这里,因为我的是控制台项目,所以我把原来默认的改为控制台了。你的可根据需要来修改。好了,大体的核心的设置就是这些,其它小项的设置问题不大,如遇到,请自行修改。接下来就粘贴代码或修改代码,调试你的程序吧。在整个过程,头文件引入都不需要引入,因为上面的包含目录已经设置好了


我的调试运行成功后,在相应目录得到如上图的EXE,其它的诸如DLL等文件和inference这些是项目需要粘贴过来的。