当前位置: 首页 > 工具软件 > Loci > 使用案例 >

QT 5.6 使用mingW编译OCI 报错cannot find -loci

司空叶五
2023-12-01

一开始使用的是比较新的QT 5.14,但后来要求要能在xp运行。于是下了个5.6。按照之前的经验根据官方文档编译OCI插件

5.6的官方文档例子如下:

set INCLUDE=%INCLUDE%;c:\oracle\oci\include
set LIB=%LIB%;c:\oracle\oci\lib\msvc
cd %QTDIR%\qtbase\src\plugins\sqldrivers\oci
qmake oci.pro
nmake

nmake替换为mingw-make

也一样碰到了很之前编译5.14时也碰到的问题,比如找不到oci.h,解决方法随便就能搜到,就是更改oci.pro的内容。

结果报错cannot find -loci

看了一些回答,有人表示是不能使用msvc的lib库。但在之前5.14版本我也是直接引用了了oci.lib,百思不得其解。

后来在网上翻了一下午,找到一个帖子:点这里

里面一层楼写了完整的编译过程,我发现他引用库的写法和我的不一样

qmake "INCLUDEPATH+=C:\app\nehain\product\11.2.0\client_1\oci\include" "LIBS+=-LC:\app\nehain\product\11.2.0\client_1\oci\lib\msvc -loci" oci.pro

我:LIBS+=C:\app\nehain\product\11.2.0\client_1\oci\lib\msvc\oci.lib

他:LIBS+=-LC:\app\nehain\product\11.2.0\client_1\oci\lib\msvc -loci

于是试了下,结果就成了

并不知道为什么在5.14可以的写法,在5.6就不能成功,如果有大神知道恳请指点。

因为我碰到这个问题的时候在内网并没有搜到解决方案,所以记录一下,方便其他和我一样的萌新~

 类似资料: