一、下载
- 下载地址:https://pocoproject.org/releases/poco-1.9.0/
- 下载
poco-1.9.0-all.zip
,其中不带all的是基础版本,只包含基本的poco类库,带all的是全功能版本,包含sqlite,opensll等等。 - 解压缩zip包后,得到
二、编译
---- Windows平台下
1、用记事本或UltraEdit打开components文件,添加或删除指定的行即可配置编译哪些模块。
例如:
CppUnit
CppUnit/WinTestRunner
Foundation
Encodings
XML
JSON
Util
Net
Zip
=> 只编译基本模块2、根据Visual Studio版本,在文件夹中直接双击build_vsxxx.cmd文件即可自动编译。
VS2008: build_vs90.cmd
VS2013: build_vs120.cmd
VS2015: build_vs140.cmd
VS2017: build_vs150.cmd3、本人使用的VS2013因此,双击运行了文件夹中的build_vs120.cmd。之后会自动执行编译脚本,并在当前目录下生成两个文件夹bin和lib。
lib:该文件夹中存放了.lib静态连接库等文件。编译自己写的源代码时需要。
bin:该文件夹中存放了.dll动态链接库等文件。运行编译好的可执行文件时需要。4、 以上两个文件夹中文件可以更细分为用于release版和用于debug版(名字后带d)。为了后面方便和VS链接使用更方便,可以将这些文件分到debug和release子文件夹。
三、在VS2013中使用POCO库编程
- 1、将poco源路径添加为环境变量POCO_PATH,之后就可以使用
$(POCO_PATH)
统一表示这个路径。
- 2、头文件问题
新建一个VS2013工程,输入使用poco的代码,会发现找不到相关头文件,原因是我们没有将需要的头文件包含到该工程,报错如下图:
解决办法:点击VS菜单栏“项目”=》最下面“属性”,添加附加头文件目录
再看代码,可以发现已经不会报错找不到头文件了:
- 3、编译时静态库问题
直接编译,发现还是会报错,说明找不到代码运行需要链接的静态库:
解决办法:将debug版的静态链接库的目录添加。(如果后期要使用release版也要再添加相应的库目录$(POCO_PATH)/build/lib/Release
)
再次编译,就不会报错找不到相关的.lib文件了。
- 4、运行时动态库问题
编译通过后,运行代码,还是会报错,找不到.dll动态链接库,因此程序无法执行。
可以查看VS工程项目目录,确实没有该.dll动态库文件。
解决方法:将需要用到的.dll动态链接库复制到VS工程项目目录。(若是要得到Release版本,那就要将对应的Release版的动态库复制过去)
再次运行代码,这次成功执行:
》更便捷的做法:使用VS的运行输出时命令,自动将所有的.dll文件拷贝到目标文件夹。命令:copy $(POCO_PATH)\build\bin\Debug\*.dll D:\src\c_cpp\poco_project\Test\test1
查看VS工程项目的目录,会发现所有的.dll动态库,都自动拷贝过来了:
》》》》》通过以上的步骤,就成功且方便的将POCO库和VS连接好,后面写代码就方便了。