无法针对OCILIB进行编译

时间:2011-07-07 16:14:21

标签: c oracle static-libraries linker-errors oci

1 个答案:

答案 0 :(得分:1)

您是否尝试过像这样链接?

gcc -o test test.c -L. -locilib

至少在过去(我在很长一段时间内没有做太多的C / C ++)链接的顺序很重要。   test.o会引用OCI_Initialize,而test.o之后会引用libocilib.a,这些都会得到满足。但是如果你以相反的方式链接那些引用将不会被满足,因为链接器在查看OCI_Initialize之前看到了test.o符号,所以从未意识到它需要保持一个“指针”到周围的符号在查看test.o