免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2003 | 回复: 7
打印 上一主题 下一主题

【问题】win2k 下 proc 预编译错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-05-12 01:19 |只看该作者 |倒序浏览
头一次在windows 下使用 proc,预编译失败。代码如下,我想把 test.pc 预编译成 test.cpp

test.pc
  1. #include <iostream.h>;
  2. #include <stdio.h>;
  3. #include <string.h>;

  4. EXEC SQL INCLUDE sqlca;

  5. #define     UNAME_LEN      20
  6. #define     PWD_LEN        40

  7. EXEC SQL BEGIN DECLARE SECTION;
  8.   VARCHAR username[UNAME_LEN];  // VARCHAR is an ORACLE supplied struct
  9.   varchar password[PWD_LEN];    // varchar can be in lower case also
  10. EXEC SQL END DECLARE SECTION;

  11. int main(void)
  12. {
  13.   username.len = (unsigned short)strlen(strcpy((char *)username.arr, "SCOTT"));
  14.   password.len = (unsigned short)strlen(strcpy((char *)password.arr, "TIGER"));

  15.   EXEC SQL CONNECT :username IDENTIFIED BY :password;

  16.   EXEC SQL COMMIT WORK RELEASE;
  17.   
  18.   return(0);
  19. }
复制代码



我是这样预编译的,不知道参数有没有错:
  1. proc iname=test.pc oname=test.cpp code=cpp parse=none
复制代码


报错如下:
  1. Pro*C/C++: Release 8.1.7.0.0 - Production on 星期三 5月 12 01:15:41 2004

  2. (c) Copyright 2000 Oracle Corporation.  All rights reserved.

  3. 系统默认选项值取自于: d:\oracle\ora81\precomp\admin\pcscfg.cfg

  4. 在第 11 行,第 20 列,文件 cppdemo1.pc 有语义错误:
  5.   VARCHAR username[UNAME_LEN];  // VARCHAR is an ORACLE supplied struct
  6. ...................1
  7. PCC-S-02322, 找到未定义的标识符
  8. 在第 12 行,第 20 列,文件 cppdemo1.pc 有语义错误:
  9.   varchar password[PWD_LEN];    // varchar can be in lower case also
  10. ...................1
  11. PCC-S-02322, 找到未定义的标识符
  12. 在第 11 行,第 20 列,文件 cppdemo1.pc 有语义错误:
  13.   VARCHAR username[UNAME_LEN];  // VARCHAR is an ORACLE supplied struct
  14. ...................1
  15. PCC-S-02322, 找到未定义的标识符
  16. 在第 12 行,第 20 列,文件 cppdemo1.pc 有语义错误:
  17.   varchar password[PWD_LEN];    // varchar can be in lower case also
  18. ...................1
  19. PCC-S-02322, 找到未定义的标识符
复制代码


搞了一天都没有头绪,望大家指点一二。谢谢!!!

论坛徽章:
0
2 [报告]
发表于 2004-05-12 09:14 |只看该作者

【问题】win2k 下 proc 预编译错误

能帮忙一些吗?

我qq: 290213000

论坛徽章:
0
3 [报告]
发表于 2004-05-12 09:39 |只看该作者

【问题】win2k 下 proc 预编译错误

给个建议:
最好直接修改文件
d:\oracle\ora81\precomp\admin\pcscfg.cfg

参考:自己按照需要修改
define=THREADS
code=cpp
userid=cc/cc@cckf_10.161.120.15
threads=yes
sqlcheck=full
mode=ansi

论坛徽章:
0
4 [报告]
发表于 2004-05-12 09:44 |只看该作者

【问题】win2k 下 proc 预编译错误

谢谢楼上的。

我现在预编译过了,原来 D:\oracle\ora81\precomp\demo\proc\pcmake.bat 说的很清楚

现在碰到新问题,我把预编译生成的cpp文件加到project里面,但是在 vc 下 链接的时候报错:

  1. Linking...
  2. LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
  3. Debug/testproc.exe : fatal error LNK1120: 1 unresolved externals
  4. Error executing link.exe.
复制代码

论坛徽章:
0
5 [报告]
发表于 2004-05-12 09:54 |只看该作者

【问题】win2k 下 proc 预编译错误

参考:
C:\oracle\ora92\precomp\lib\msvc\oraSQL9.LIB

论坛徽章:
0
6 [报告]
发表于 2004-05-12 09:57 |只看该作者

【问题】win2k 下 proc 预编译错误

[quote]原帖由 "uiibono"][/quote 发表:
你说一下你建的什么工程,win32 application 还是win32 console application,如果是前者,入口应该是winmain()不是main().有个简单的方法,将Project setting 中的Link页中的Project option中的/subsystem:的值设置为console就可以了。


祝楼主好运。

论坛徽章:
0
7 [报告]
发表于 2004-05-12 09:59 |只看该作者

【问题】win2k 下 proc 预编译错误

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

论坛徽章:
0
8 [报告]
发表于 2004-05-12 10:08 |只看该作者

【问题】win2k 下 proc 预编译错误

网友 GuitarEX  说的是对的,我搞错了。

非常谢谢 GuitarEX   和 lddgcs 的指点。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP