最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Mac系统下编译Oracle的SQLDrivers插件qsqloci

来源:动视网 责编:小采 时间:2020-11-09 11:36:46
文档

Mac系统下编译Oracle的SQLDrivers插件qsqloci

Mac系统下编译Oracle的SQLDrivers插件qsqloci:今天编译在Mac下编译了Oracle的SQL驱动插件,这里记录编译过程供参考。 今天编译在Mac下编译了Oracle的SQL驱动插件,这里记录编译过程供参考。 先介绍一下编译环境:Mac OS X 10.7.3, 安装Qt SDK 1.2 for Mac,XCode 4.2.1。 1. 首
推荐度:
导读Mac系统下编译Oracle的SQLDrivers插件qsqloci:今天编译在Mac下编译了Oracle的SQL驱动插件,这里记录编译过程供参考。 今天编译在Mac下编译了Oracle的SQL驱动插件,这里记录编译过程供参考。 先介绍一下编译环境:Mac OS X 10.7.3, 安装Qt SDK 1.2 for Mac,XCode 4.2.1。 1. 首


今天编译在Mac下编译了Oracle的SQL驱动插件,这里记录编译过程供参考。

今天编译在Mac下编译了Oracle的SQL驱动插件,这里记录编译过程供参考。

先介绍一下编译环境:Mac OS X 10.7.3, 安装Qt SDK 1.2 for Mac,XCode 4.2.1。

1. 首先是到Oracle的网站上下载相关的库和开发包,按照Qt文档中的说明(How to Build the OCI Plugin on Unix and Mac OS X),需要下载"Instant Client Package - Basic"和"Instant Client Package - SDK"两个包,可以从这里找到要下载的内容。

2. 把下载的zip文件解压到同一个目录下,如Oracle10gClient;

3. 编译。在qt的文档中有两种方法,一个是利用configure生成makefile在执行make,另一种是利用qmake生成makefile再生成。我这里用第一种方法没有成功(原因不详),这里说的是第二种方法:

1)进入Qt源码目录,~/QtSDK/QtSources/4.8.0/src/plugins/sqldrivers/oci

2) 执行qmake命令, 按照文档中的说明,执行

  • qmake "INCLUDEPATH+=[your_oracle_dir]/instantclient_10_2/sdk/include" "LIBS+=-L[your_oracle_dir]/instantclient_10_2 -Wl,-rpath,[your_oracle_dir]/instantclient_10_2" -lclntsh -lnnz10" oci.pro
  • 这里的[your_oracle_dir]需要替换为第2步创建的目录。然后再执行make生成库文件。

    在执行时make发现无法找到这个文件,,而实际这个文件在目录中是有的,原因是默认执行qmake时只把二进制的include目录QtSDK/Desktop/Qt/4.8.0/gcc/include这个目录放在INCLUDEPATH中,而这个文件是在源代码目录下,所以会出现无法找到头文件的问题。解决办法是把源代码的include目录在qmake时直接添加进去,也就是执行如下的qmake命令:

  • qmake "INCLUDEPATH+=[your_oracle_dir]/instantclient_10_2/sdk/include ~/QtSDK/QtSources/4.8.0/include" "LIBS+=-L[your_oracle_dir]/instantclient_10_2 -Wl,-rpath,[your_oracle_dir]/instantclient_10_2" -lclntsh -lnnz10" oci.pro
  • 这样是可以编译成功的,但是在最后link时还有一个错误,无法找到库文件“library not found for -lclntsh”,查找了oracle的安装目录下,确实没有这个文件,但有一个libclntsh.dylib.10.1,猜测这个就是一个动态库,只是版本不同的问题。于是给这个文件做个符号链接,在[your_oracle_dir]目录下执行

    ln -s libclntsh.dylib.10.1 libclntsh.dylib

    然后再回头去执行make命令,就可以创建成功了。创建后的文件在~/QtSDK/QtSources/4.8.0/src/plugins/sqldrivers/oci目录下,把它们复制到Qt的sqldrivers目录下就可以了。

    文档

    Mac系统下编译Oracle的SQLDrivers插件qsqloci

    Mac系统下编译Oracle的SQLDrivers插件qsqloci:今天编译在Mac下编译了Oracle的SQL驱动插件,这里记录编译过程供参考。 今天编译在Mac下编译了Oracle的SQL驱动插件,这里记录编译过程供参考。 先介绍一下编译环境:Mac OS X 10.7.3, 安装Qt SDK 1.2 for Mac,XCode 4.2.1。 1. 首
    推荐度:
    标签: Mac 插件 macOS
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top