一、VS2015下配置proc编译器所需操作大致如下图所示
第一步就是将proc编译器集成到vs2015之中,需要加入proc.exe、proc头文件以及文件动态库。
第二步就是让proc编译器能够找到vs2015的头文件.
二、具体操作步骤
1.对于在windows下使用vs2015编译.pc文件,首先需要将proc.exe编译器的路径包含到vs2015中。
我的proc编译器路径如下所示:
添加到vs2015如下:
首先打开项目属性页:
在把proc编译器路径添加进来:
2.添proc相应的头文件以及文件动态库。
主要是precomp和OCI下的头文件和库文件(OCI是oracle的调用接口,下面可以不添加它的头文件和库文件)。
添加头文件:
添加库文件:
3.然后需要将precomp/LIB 路径下的动态库文件orasql11赋值到项目目录下
然后添加到链接中
4.此时仍旧无法编译,右击项目会发现编译选项无法点击。需要进行设置让vs2015能够识别.pc文件。
选择上图中的属性,注意是右击.pc文件,不是右击项目。
设置完以后就可以进行编译了。
5.由于proc编译.pc文件时需要调用gcc或vs的头文件,因此还需要将vs2015的头文件加进来。通过更改pcscfg.cfg文件来实现(proc编译器会读取该文件的内容)。
其路径如下:
对于pcscfg.cfg文件可能无法直接修改,可以先另存为,再复制到该目录下替换原来的文件。
加入vs2015头文件路径:
之前在网上看到说是proc编译器对vs2013的头文件不支持,需要使用vc6.0的头文件。特意安装了visual c++ 6.0获取它的头文件,后来发现vs2015的头文件也能正常使用。估计可能是proc更新了吧。
6.编译之后可以生成.c文件。让后将.c文件添加进项目即可,然后再编译运行。
注意:以上的操作可以直接设置环境变量就不用每个项目都需要更改了,对于proc.exe的路径在oracle安装时就已经加入了环境变量之中。
三 vs2015编译proc*c/C++时遇到的问题
1、如果使用X86进行编译,将会出错。
注意第二个警告才是重点,意思大概是orasql11.lib是64位的,如果我们程序想要编译成32位的就会出错。因此只要改成x64运行,程序就能正常运行。
2、对于proc*c++,操作和proc*c基本一样,只是proc编译命令不一样。
parse=none 告诉proc编译器 按照c++规范解析 dm02_hello.pc
code=cpp 告诉proc编译器 按照c++规范 生产文件
3、需要注意对于在vs2015中编译.pc文件,如果出现语法错误,并不会显示这个错误,而是直接按以下方式报错:
可以使用命令行进行编译,这样就能显示是否有语法错误。