本文所讨论的内容基于以下环境:
microsoft visual c++ 6.0
oracle 8i (8.1.7)
当前版本:1.0 (041221)
声明:本文所述的某些操作可能对系统产生重大影响,请慎重操作!本人不对此产生的任何后果负责!
在vc++开发环境中整合pro*c/c++
pro*c/c++为c/c++语言访问oracle数据库提供了极大的方便,但是,在编译的时候往往需要在命名行模式下编译pc文件,而目前多数开发都是在vc++这种整合开发环境中完成的,要在两者之间不停的切换,不仅麻烦而且对于调试也相当不便。
在vc++中,提供了对于“自定义编译步骤”的设定,可以让我们自己来定义如何处理pc文件。现作一简单介绍:
首先,确保你安装了oralce的pro*c/c++。
然后,运行visual c++,打开一个工程文件(workspace),自定义编译步骤仅可针对某一工程。选择“project”->“settings…”。选择设置哪个配置,选“all configrations”可以覆盖所有配置。
先选中所有项目,点击“linker”标签,在library列表内加入:orasql8.lib 。(不同的oracle版本,这个文件名会不同)
点击“custom build”标签,在“commands”编辑框内加入如下内容:
call vcvars32.bat
proc iname=”$(inputdir)\$(inputname).pc” include=”%msvcdir%\include” include=”$(msdevdir)\..\vc98\include” code=cpp parse=partial
这里解释一下:
call vcvars32.bat
这个是用来设置vc的编译环境的。
proc iname=”$(inputdir)\$(inputname).pc” include=”%msvcdir%\include” include=”$(msdevdir)\..\vc98\include” code=cpp parse=partial
这个是直接调用proc的编译程序进行编译,$(inputdir)之类的vc都是会自己替换的,不需要我们手动处理。这里有一点要注意:传给proc的参数最好加上引号,如果不幸里面有空格,那会被当成是另外一个参数,这种错误是很难查的。
在outputs中加入如下内容:
$(inputdir)\$(inputname).cpp
这个是告诉vc最后生成的是哪个文件,好让它去取用。
点击“ok”保存,这样我们就可以直接在vc++中编辑pro*c文件了。
另外,在属性设置中,直接点击pc文件也可以设置自定义编译步骤。
