置顶贴子,此版块的贴子都看了尝试了还不行,
环境:redhat9,qt-x11-opensource-src-4.5.3,mysql-5.1.51,都已经安装成功了,
我的环境下没有如下的include 和lib的目录,
"INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro
而是
"INCLUDEPATH+=/usr/local/mysql/include/mysql" "LIBS+=-L/usr/local/mysql/lib/mysql -lmysqlclient_r" mysql.pro
这样的目录
报错如下:
[root@localhost mysql]# qmake "INCLUDEPATH+=/usr/local/mysql/include/mysql" "LIBS+=-L/usr/local/mysql/lib/mysql -lmysqlclient_r" mysql.pro
[root@localhost mysql]# ls
Makefile mysql.pro qsql_mysql.cpp qsql_mysql.h
[root@localhost mysql]# make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../mkspecs/linux-g++ -I. -I../../../../include/QtCore -I../../../../include/QtGui -I../../../../include -I/usr/local/mysql/include/mysql -I. -I.moc/release-shared -o .obj/release-shared/qsql_mysql.o qsql_mysql.cpp
qsql_mysql.cpp:47:23: qsqlerror.h: 没有那个文件或目录
qsql_mysql.cpp:48:23: qsqlfield.h: 没有那个文件或目录
qsql_mysql.cpp:49:23: qsqlindex.h: 没有那个文件或目录
qsql_mysql.cpp:50:23: qsqlquery.h: 没有那个文件或目录
qsql_mysql.cpp:51:24: qsqlrecord.h: 没有那个文件或目录
qsql_mysql.cpp:229: no type `ErrorType' in `QSqlError'
qsql_mysql.cpp:229: parse error before `,' token
qsql_mysql.cpp: In function `QSqlError qMakeError(...)':
qsql_mysql.cpp:231: return type `struct QSqlError' is incomplete
qsql_mysql.cpp:232: `p' undeclared (first use this function)
qsql_mysql.cpp:232: (Each undeclared identifier is reported only once for each
function it appears in.)
qsql_mysql.cpp:233: `err' undeclared (first use this function)
qsql_mysql.cpp:235: `type' undeclared (first use this function)
qsql_mysql.cpp:235: invalid use of undefined type `struct QSqlError'
../../../../src/sql/kernel/qsqldriver.h:61: forward declaration of `struct
QSqlError'
qsql_mysql.cpp: In function `QSqlField qToField(MYSQL_FIELD*, QTextCodec*)':
qsql_mysql.cpp:288: return type `struct QSqlField' is incomplete
qsql_mysql.cpp:290: variable `QSqlField f' has initializer but incomplete type
qsql_mysql.cpp: At global scope:
qsql_mysql.cpp:301: no type `ErrorType' in `QSqlError'
qsql_mysql.cpp:301: parse error before `,' token
qsql_mysql.cpp: In function `QSqlError qMakeStmtError(...)':
qsql_mysql.cpp:303: return type `struct QSqlError' is incomplete
qsql_mysql.cpp:304: `stmt' undeclared (first use this function)
qsql_mysql.cpp:307: invalid use of undefined type `struct QSqlError'
../../../../src/sql/kernel/qsqldriver.h:61: forward declaration of `struct
QSqlError'
qsql_mysql.cpp: In member function `virtual bool QMYSQLResult::fetch(int)':
qsql_mysql.cpp:486: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:486: warning: cannot pass objects of non-POD type `class QString
' through `...'; call will abort at runtime
qsql_mysql.cpp: In member function `virtual bool QMYSQLResult::reset(const
QString&)':
qsql_mysql.cpp:669: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:669: warning: cannot pass objects of non-POD type `class QString
' through `...'; call will abort at runtime
qsql_mysql.cpp:675: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:675: warning: cannot pass objects of non-POD type `class QString
' through `...'; call will abort at runtime
qsql_mysql.cpp: In member function `virtual QSqlRecord QMYSQLResult::record()
const':
qsql_mysql.cpp:733: return type `struct QSqlRecord' is incomplete
qsql_mysql.cpp:734: aggregate `QSqlRecord info' has incomplete type and cannot
be defined
qsql_mysql.cpp:749: invalid use of undefined type `struct QSqlField'
../../../../src/sql/kernel/qsqldriver.h:62: forward declaration of `struct
QSqlField'
qsql_mysql.cpp: In member function `bool QMYSQLResult::nextResult()':
qsql_mysql.cpp:777: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:777: warning: cannot pass objects of non-POD type `class QString
' through `...'; call will abort at runtime
qsql_mysql.cpp:787: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:787: warning: cannot pass objects of non-POD type `class QString
' through `...'; call will abort at runtime
qsql_mysql.cpp: In member function `virtual bool QMYSQLResult::prepare(const
QString&)':
qsql_mysql.cpp:869: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:869: warning: cannot pass objects of non-POD type `class QString
' through `...'; call will abort at runtime
qsql_mysql.cpp:877: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:877: warning: cannot pass objects of non-POD type `class QString
' through `...'; call will abort at runtime
qsql_mysql.cpp: In member function `virtual bool QMYSQLResult::exec()':
qsql_mysql.cpp:913: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:913: warning: cannot pass objects of non-POD type `class QString
' through `...'; call will abort at runtime
qsql_mysql.cpp:999: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:999: warning: cannot pass objects of non-POD type `class QString
' through `...'; call will abort at runtime
qsql_mysql.cpp:1010: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:1010: warning: cannot pass objects of non-POD type `class
QString' through `...'; call will abort at runtime
qsql_mysql.cpp:1024: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:1024: warning: cannot pass objects of non-POD type `class
QString' through `...'; call will abort at runtime
qsql_mysql.cpp:1033: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:1033: warning: cannot pass objects of non-POD type `class
QString' through `...'; call will abort at runtime
qsql_mysql.cpp:1045: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:1045: warning: cannot pass objects of non-POD type `class
QString' through `...'; call will abort at runtime
qsql_mysql.cpp: In member function `virtual bool QMYSQLDriver::open(const
QString&, const QString&, const QString&, const QString&, int, const
QString&)':
qsql_mysql.cpp:1252: incomplete type `QSqlError' does not have member `
ConnectionError'
qsql_mysql.cpp:1252: warning: cannot pass objects of non-POD type `const class
QString' through `...'; call will abort at runtime
qsql_mysql.cpp:1259: incomplete type `QSqlError' does not have member `
ConnectionError'
qsql_mysql.cpp:1259: warning: cannot pass objects of non-POD type `class
QString' through `...'; call will abort at runtime
qsql_mysql.cpp: In member function `virtual QSqlIndex
QMYSQLDriver::primaryIndex(const QString&) const':
qsql_mysql.cpp:1333: return type `struct QSqlIndex' is incomplete
qsql_mysql.cpp:1334: aggregate `QSqlIndex idx' has incomplete type and cannot
be defined
qsql_mysql.cpp:1342: variable `QSqlQuery i' has initializer but incomplete type
qsql_mysql.cpp:1344: variable `QSqlRecord fil' has initializer but incomplete
type
qsql_mysql.cpp:1344: invalid use of undefined type `struct QSqlRecord'
../../../../src/sql/kernel/qsqldriver.h:64: forward declaration of `struct
QSqlRecord'
qsql_mysql.cpp: In member function `virtual QSqlRecord
QMYSQLDriver::record(const QString&) const':
qsql_mysql.cpp:1359: return type `struct QSqlRecord' is incomplete
qsql_mysql.cpp:1360: aggregate `QSqlRecord info' has incomplete type and cannot
be defined
qsql_mysql.cpp:1369: invalid use of undefined type `struct QSqlField'
../../../../src/sql/kernel/qsqldriver.h:62: forward declaration of `struct
QSqlField'
qsql_mysql.cpp: In member function `virtual bool
QMYSQLDriver::beginTransaction()':
qsql_mysql.cpp:1390: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:1390: warning: cannot pass objects of non-POD type `class
QString' through `...'; call will abort at runtime
qsql_mysql.cpp: In member function `virtual bool
QMYSQLDriver::commitTransaction()':
qsql_mysql.cpp:1407: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:1407: warning: cannot pass objects of non-POD type `class
QString' through `...'; call will abort at runtime
qsql_mysql.cpp: In member function `virtual bool
QMYSQLDriver::rollbackTransaction()':
qsql_mysql.cpp:1424: incomplete type `QSqlError' does not have member `
StatementError'
qsql_mysql.cpp:1424: warning: cannot pass objects of non-POD type `class
QString' through `...'; call will abort at runtime
qsql_mysql.cpp: In member function `virtual QString
QMYSQLDriver::formatValue(const QSqlField&, bool) const':
qsql_mysql.cpp:1433: invalid use of undefined type `struct QSqlField'
../../../../src/sql/kernel/qsqldriver.h:62: forward declaration of `struct
QSqlField'
qsql_mysql.cpp:1436: invalid use of undefined type `struct QSqlField'
../../../../src/sql/kernel/qsqldriver.h:62: forward declaration of `struct
QSqlField'
qsql_mysql.cpp:1444: invalid use of undefined type `struct QSqlField'
../../../../src/sql/kernel/qsqldriver.h:62: forward declaration of `struct
QSqlField'
make: *** [.obj/release-shared/qsql_mysql.o] Error 1