Home Database Mysql Tutorial Mac系统下Qt 4.8编译连接数据库(Oracle,MySql)

Mac系统下Qt 4.8编译连接数据库(Oracle,MySql)

Jun 07, 2016 pm 05:12 PM
database

在Mac下成功编译了MySql和Oracle的数据库插件驱动,但遗憾的是在程序中无论如何也加载不了这两个驱动,也无法连接数据库。在环境

在Mac下成功编译了MySql和Oracle的数据库插件驱动,但遗憾的是在程序中无论如何也加载不了这两个驱动,也无法连接数据库。在环境变量中设置QT_DEBUG_PLUGINS=1, 再启动程序后Qt会报告一些加载插件的调试信息,从中可以看出是插件不兼容引起的,也就是文档中所说的Build Key的问题,在文档中有提到可能需要清除插件缓存(Plugin cache),应该是在一个QSettings定义的文件中,但我没找到。无奈下将QtSDK删除重新安装一遍,又从头开始,最后终于成功。下面记录详细的过程,供日后参考。

1. 首先安装QtSDK 1.2, 安装在 ~/QtSDK目录下,安装的时候要选择安装4.8.0的源代码,否则后面无法编译plugin;

2. 下载MySql和Oracle的数据库连接的动态库;可从官网下载,注意选择与你的系统合适的版本,我这里是Max OSX 10.7.3 64bit;MySql下载的是mysql-connector-c-6.0.2-osx10.5-x86-64bit.tar.gz, oracle下需要的是instantclient basic包和instantclient SDK包。

3. 将下载的数据库文档解压缩到本地目录下,记录下文件目录;MySql解压在~/bin/mysql目录下,下面会有include和lib子目录;oracle的两个包解压到~/bin/oracle目录下,目录下有库文件和sdk目录;

4.准备工作完了后,开始编译生成Qt库;首先执行命令(后面3行是一个命令,因太长了分行显示)

上面的命令中,,prefix是定义编译后的安装目录,默认是安装到/usr/local/Trolltech/Qt-4.8.0目录下,我这里给定义安装到 QtSDK的目录下,这样可以避免后面在QtCreator中配置版本,或者利用install_name_tools来修改动态库名称等操作。经过一段 时间(几分钟)等待后,生成了整个源目录下的makefile文件。系统应该显示

上面的[xxxx]应该是你的系统登录用户名,下同。

5.下面开始编译过程,应该很简单,直接在刚才的目录下继续执行make命令即可, 但是我这里在编译到QtWebkit这个库的时候会有错误,因此后面将跳过这个库继续编译后面的库。出现的错误是:

这里也不知道是么原因,没搞明白。

5.通过Makefile文件知道,在Webkit后面还有scripttools,plugins(这个是主要目的), 后面用命令逐个编译每个库。

  • cd src/scripttools;make;cd ../plugins;make;cd ../imports;make;cd ../tools;make;cd ../translations;make;cd ../..  
  • make install  
  • 因为不是必需的,最后没有编译examples和demos两个目录。

    如此编译已经成功,另外在程序运行时需要将mysql的lib目录和oracle的lib目录加到环境变量DYLD_LIBRARY_PATH中,否则还是无法加载数据库插件驱动。

    linux

    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    AI Hentai Generator

    AI Hentai Generator

    Generate AI Hentai for free.

    Hot Article

    R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
    3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Best Graphic Settings
    3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. How to Fix Audio if You Can't Hear Anyone
    3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: How To Unlock Everything In MyRise
    3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

    Hot Tools

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor

    SublimeText3 Chinese version

    SublimeText3 Chinese version

    Chinese version, very easy to use

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)

    How does Go language implement the addition, deletion, modification and query operations of the database? How does Go language implement the addition, deletion, modification and query operations of the database? Mar 27, 2024 pm 09:39 PM

    Go language is an efficient, concise and easy-to-learn programming language. It is favored by developers because of its advantages in concurrent programming and network programming. In actual development, database operations are an indispensable part. This article will introduce how to use Go language to implement database addition, deletion, modification and query operations. In Go language, we usually use third-party libraries to operate databases, such as commonly used sql packages, gorm, etc. Here we take the sql package as an example to introduce how to implement the addition, deletion, modification and query operations of the database. Assume we are using a MySQL database.

    How does Hibernate implement polymorphic mapping? How does Hibernate implement polymorphic mapping? Apr 17, 2024 pm 12:09 PM

    Hibernate polymorphic mapping can map inherited classes to the database and provides the following mapping types: joined-subclass: Create a separate table for the subclass, including all columns of the parent class. table-per-class: Create a separate table for subclasses, containing only subclass-specific columns. union-subclass: similar to joined-subclass, but the parent class table unions all subclass columns.

    iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos Jul 18, 2024 am 05:48 AM

    Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

    An in-depth analysis of how HTML reads the database An in-depth analysis of how HTML reads the database Apr 09, 2024 pm 12:36 PM

    HTML cannot read the database directly, but it can be achieved through JavaScript and AJAX. The steps include establishing a database connection, sending a query, processing the response, and updating the page. This article provides a practical example of using JavaScript, AJAX and PHP to read data from a MySQL database, showing how to dynamically display query results in an HTML page. This example uses XMLHttpRequest to establish a database connection, send a query and process the response, thereby filling data into page elements and realizing the function of HTML reading the database.

    Detailed tutorial on establishing a database connection using MySQLi in PHP Detailed tutorial on establishing a database connection using MySQLi in PHP Jun 04, 2024 pm 01:42 PM

    How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

    How to handle database connection errors in PHP How to handle database connection errors in PHP Jun 05, 2024 pm 02:16 PM

    To handle database connection errors in PHP, you can use the following steps: Use mysqli_connect_errno() to obtain the error code. Use mysqli_connect_error() to get the error message. By capturing and logging these error messages, database connection issues can be easily identified and resolved, ensuring the smooth running of your application.

    Tips and practices for handling Chinese garbled characters in databases with PHP Tips and practices for handling Chinese garbled characters in databases with PHP Mar 27, 2024 pm 05:21 PM

    PHP is a back-end programming language widely used in website development. It has powerful database operation functions and is often used to interact with databases such as MySQL. However, due to the complexity of Chinese character encoding, problems often arise when dealing with Chinese garbled characters in the database. This article will introduce the skills and practices of PHP in handling Chinese garbled characters in databases, including common causes of garbled characters, solutions and specific code examples. Common reasons for garbled characters are incorrect database character set settings: the correct character set needs to be selected when creating the database, such as utf8 or u

    How to use database callback functions in Golang? How to use database callback functions in Golang? Jun 03, 2024 pm 02:20 PM

    Using the database callback function in Golang can achieve: executing custom code after the specified database operation is completed. Add custom behavior through separate functions without writing additional code. Callback functions are available for insert, update, delete, and query operations. You must use the sql.Exec, sql.QueryRow, or sql.Query function to use the callback function.

    See all articles