100分求关于一个project中两个.pc文件编译的问题,高手请进

boysoft 2004-04-05 03:21:53
环境 oracle8.1.7 redhat 7.1

现有 a.pc b.pc 经过预编译以后变成a.c,b.c,再编译成a.o,b.o
现在由a.o,b.o链接生成一个可执行文件d,但是在链接的时候报错
a.o(.bss+0x0): multiple definition of `sqlca'
b.o(.bss+0x0): first defined here
collect2: ld returned 1 exit status

也就是说a.o和b.o中都声明了全局变量sqlca,但是如果不在a.pc,b.pc中声明的话,预编译又通不过,难道在一个项目中只能有一个.pc文件,请高手指点
...全文
42 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
boysoft 2004-04-09
  • 打赏
  • 举报
回复
一语中的
drabit 2004-04-08
  • 打赏
  • 举报
回复
在.pc文件的最前面加上
#define SQLCA_STORAGE_CLASS extern
boysoft 2004-04-08
  • 打赏
  • 举报
回复
但是#include <sqlca.h>
是必须的,如何用#ifndefine
#define
#endif
qfsb_p 2004-04-07
  • 打赏
  • 举报
回复

#ifndefine
#define
#endif
试试

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧