• 6263阅读
  • 6回复

linux下写的个连接MYSQL的程序,但遇到如下错,怎么回事??怎么解决? [复制链接]

上一主题 下一主题
离线light365
 

只看楼主 倒序阅读 楼主  发表于: 2006-09-02
linux下写的个连接MYSQL的程序,但遇到如下错,怎么回事??怎么解决?
— 本帖被 XChinux 从 Qt for Windows 移动到本区(2010-02-07) —
cd '/root/qtProject/test6' && QTDIR="/usr/local/Trolltech/Qt-4.1.4/" gmake -j1
cd src && gmake -f Makefile
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.1.4/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.1.4/include/QtCore -I/usr/local/Trolltech/Qt-4.1.4/include/QtGui -I/usr/local/Trolltech/Qt-4.1.4/include -I. -I. -o test6.o test6.cpp
test6.cpp:29:2: warning: no newline at end of file
g++ -Wl,-rpath,/usr/local/Trolltech/Qt-4.1.4/lib -o ../bin/test6 test6.o -L/usr/local/Trolltech/Qt-4.1.4/lib -lQtGui_debug -L/opt/qt4/lib -L/usr/X11R6/lib -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtCore_debug -lz -lm -ldl -lpthread
test6.o(.text+0x179): In function `main':
/root/qtProject/test6/src/test6.cpp:16: undefined reference to `QSqlDatabase::defaultConnection'
test6.o(.text+0x1b6):/root/qtProject/test6/src/test6.cpp:16: undefined reference to `QSqlDatabase::addDatabase(QString const&, QString const&)'
test6.o(.text+0x245):/root/qtProject/test6/src/test6.cpp:17: undefined reference to `QSqlDatabase::setHostName(QString const&)'
test6.o(.text+0x2a0):/root/qtProject/test6/src/test6.cpp:18: undefined reference to `QSqlDatabase::setDatabaseName(QString const&)'
test6.o(.text+0x2fb):/root/qtProject/test6/src/test6.cpp:19: undefined reference to `QSqlDatabase::setUserName(QString const&)'
test6.o(.text+0x356):/root/qtProject/test6/src/test6.cpp:20: undefined reference to `QSqlDatabase::setPassword(QString const&)'
test6.o(.text+0x39c):/root/qtProject/test6/src/test6.cpp:21: undefined reference to `QSqlDatabase::open()'
test6.o(.text+0x467):/root/qtProject/test6/src/test6.cpp:26: undefined reference to `QSqlDatabase::close()'
test6.o(.t
ext+0x4d9):/root/qtProject/test6/src/test6.cpp:28: undefined reference to `QSqlDatabase::~QSqlDatabase()'
test6.o(.text+0x51d):/root/qtProject/test6/src/test6.cpp:28: undefined reference to `QSqlDatabase::~QSqlDatabase()'
collect2: ld returned 1 exit status
gmake[1]: *** [../bin/test6] 错误 1
gmake: *** [sub-src-make_default] 错误 2
*** Exited with status: 2 ***



/usr/local/Trolltech/Qt-4.1.4/plugins/sqldrivers目录下已经有了这两个文件!
libqsqlmysql_debug.so libqsqlmysql.so


MYSQL版本是5
[ 此贴被XChinux在2006-09-02 22:10重新编辑 ]
离线bjiang

只看该作者 1楼 发表于: 2006-09-02
请问老兄,你在云帆论坛里面问的在WINDOWS下用qt连接数据库,测试时出现drive not load,这个问题解决没有,我也碰到和你一样的问题,如果解决了,麻烦说说你解决的办法
离线light365

只看该作者 2楼 发表于: 2006-09-02
window问题解决了,就是我那贴子里的内容,没有变任何内容情况下,
然后换了一个mysql的驱动,问题就解决了,估计是我自已经驱动编译有问题,,
我现在window下用的mysql驱动,


是从这个工程里拿出来的,
http://www.qtcn.org/bbs/read.php?tid=5255

window的问题是解决了,在换到linux下,同样的程序,可以就有问题!有谁知道,告诉我一下!
离线bjiang

只看该作者 3楼 发表于: 2006-09-02
你就是把qsqlmysql.dll这个文件考到C:\qt\plugins\sqldrivers下吗,还是怎么做的.我刚才把我这个文件替掉我那个文件,还是不行,请具体说说你的做法,非常感谢!
离线light365

只看该作者 4楼 发表于: 2006-09-02
libqsqlmysql.a, qsqlmysql.dll
这两个文件都要换,都换了就行了!
%QTDIR%\plugins\sqldrivers目录下面libqsqlmysql.a, qsqlmysql.dll这两个文件,
其它环境变量看我那贴,
http://www.myswear.net/forum/viewthread.php?tid=6690&extra=&page=1
离线XChinux

只看该作者 5楼 发表于: 2006-09-02
楼主是不是没有在.pro里加
QT += sql

这句话?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线light365

只看该作者 6楼 发表于: 2006-09-03
果然没加那句话,
加了那句话,果然行了,!!!
谢谢!
快速回复
限100 字节
 
上一个 下一个