日期:2013-12-28  浏览次数:20579 次


本文所讨论的内容基于以下环境:
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文件也可以设置自定义编译步骤。