环境red flag Server 5 + Oracle9i
程序是C里面嵌入SQL,经过(Oracle Pro*C)预编译之后得到*.C文件.
还有我的是在windows下用Oracle9i的预编译工具Pro*C预编译后,传到Linux下编译的。
.bash_profile的设置如下:
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
ORACLE_HOME=/home/oracle/oracle9i
ORACLE_BASE=/home/oracle/oracle9i
export PATH=$PATH:$PATH:$ORACLE_HOME/bin
export ORACLE_SID=mview
export ORACLE_HOME=$ORACLE_HOME
export ORACLE_BASE=$ORACLE_BASE
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/network/lib
程序编译错误如下:
[oracle@atm lrc]$ cc Pro.c
/tmp/ccm8UA6p.o(.text+0x231): In function `main':
: undefined reference to `sqlcxt'
/tmp/ccm8UA6p.o(.text+0x4eb): In function `main':
: undefined reference to `sqlcxt'
/tmp/ccm8UA6p.o(.text+0x61b): In function `main':
: undefined reference to `sqlcxt'
/tmp/ccm8UA6p.o(.text+0x6df): In function `sqlerror':
: undefined reference to `sqlcxt'
collect2: ld returned 1 exit status-
///这个问题在网上有很多讨论,但好像都没有实际的解决办法。非常着急,望哪位大虾指点
十万火急。在此先谢谢了。有解决办法,可以放到我的QQ: 47141766
|
需要oracle的开发库。看楼主的意思,linux上根本就没安装开发库?
|
在linux下加载libclntsh.so或libclntsh.so.8.0
用-lclntsh,并用-L指定路径
|
你没带库编译连接
你包括头文件了没?
|
接着加库啊,-lecpg