尝试通过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/