尝试通过select * from dual命令编译一些C代码(Linux上Oracle(11g)DB连接的一个简单proc,由.pc通过gcc命令生成),我总是会得到一个错误。

undefined reference to 'sqlcxt'

我试图链接到我在网上不同论坛上看到的库,但什么也没有得到(错误仍然发生):
gcc -o proc_test proc_test.c -L$ORACLE_HOME/lib/libclntsh.so

我仍然得到
/tmp/ccAW4Imj.o: In function `main':
proc_test.c:(.text+0x3ea): undefined reference to `sqlcxt'
proc_test.c:(.text+0x57c): undefined reference to `sqlcxt'
proc_test.c:(.text+0x60d): undefined reference to `sqlcxt'
collect2: ld returned 1 exit status

有人能帮忙吗?

最佳答案

答案是:

gcc -o proc_test proc_test.c -L$ORACLE_HOME/lib -lclntsh -m32

我只需要放-m32因为libs和linux有不同的位

关于c - 未定义对sqlcxt的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42640921/

10-09 03:53