• 6872阅读
  • 6回复

vc2,,5 编译mysql驱动的问题 [复制链接]

上一主题 下一主题
离线tangxunmin
 

只看楼主 倒序阅读 楼主  发表于: 2012-06-02
已经安装了mysql5.5了。
在E:\Qt-opensource-src\src\plugins\sqldrivers\mysql目录下
执行

qmake -o Makefile "INCLUDEPATH+=C:\Program Files\MySQL\MySQL Server 5.5\include" "LIBS+=C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib" mysql.pro


然后把makefile.debug 和makefile.release里的program file 和mysql server 5.5  都用文件别名表示。


执行 nmake


结果如下:
E:\Qt-opensource-src\src\plugins\sqldrivers\mysql>nmake


Microsoft (R) Program Maintenance Utility Version 8.00.50727.762
Copyright (C) Microsoft Corporation.  All rights reserved.


        "C:\Program Files\Microsoft Visual Studio 8\VC\BIN\nmake.exe" -f Makefil
e.Debug all


Microsoft (R) Program Maintenance Utility Version 8.00.50727.762
Copyright (C) Microsoft Corporation.  All rights reserved.


        link /LIBPATH:"e:\qt-opensource-src\lib" /LIBPATH:"e:\qt-opensource-src\
lib" /NOLOGO /DEBUG /MANIFEST /MANIFESTFILE:"tmp\obj\debug_shared\qsqlmysqld.int
ermediate.manifest" /VERSION:4.73 /OUT:e:\qt-opensource-src\plugins\sqldrivers\q
sqlmysqld.lib @C:\DOCUME~1\txm\LOCALS~1\Temp\nmB2.tmp
   Creating library e:\qt-opensource-src\plugins\sqldrivers\qsqlmysqld.lib and o
bject e:\qt-opensource-src\plugins\sqldrivers\qsqlmysqld.exp
LINK : fatal error LNK1104: cannot open file 'e:\qt-opensource-src\plugins\sqldr
ivers\qsqlmysqld.lib'
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\l
ink.EXE"' : return code '0x450'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\n
make.exe"' : return code '0x2'
Stop.




提示LINK : fatal error LNK1104: cannot open file 'e:\qt-opensource-src\plugins\sqldr
ivers\qsqlmysqld.lib'说无法打开qsqlmysqld.lib。  
可是这个lib文件应该是这一句

Creating library e:\qt-opensource-src\plugins\sqldrivers\qsqlmysqld.lib and o
bject e:\qt-opensource-src\plugins\sqldrivers\qsqlmysqld.exp创建生成的啊。


所以怀疑是生成这个文件时候出错了,又或者是创建文件失败的?
搞不清楚到底什么原因了,


大家帮忙分析下吧,!!!!!
离线tangxunmin

只看该作者 1楼 发表于: 2012-06-03
肿么没人回答呢
离线tangxunmin

只看该作者 2楼 发表于: 2012-06-03
看看我的buildlog


生成日志      重新生成 已启动: 项目: qsqlmysql,配置: Debug|Win32
命令行      正在创建临时文件“C:\DOCUME~1\txm\LOCALS~1\Temp\BAT00000643563580.bat”,其内容为
[
@echo off

"E:\Qt-opensource-src\bin\moc.exe"  "e:\Qt-opensource-src\src\sql\drivers\mysql\qsql_mysql.h" -o ".\tmp\moc\Debug_shared\moc_qsql_mysql.cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NO_DYNAMIC_CAST -D_WINDLL "-IE:\Qt-opensource-src\include\QtCore" "-IE:\Qt-opensource-src\include\QtSql" "-IE:\Qt-opensource-src\include" "-IE:\Qt-opensource-src\include\ActiveQt" "-I.\tmp\moc\debug_shared" "-Ie:\qt-opensource-src\mkspecs\win32-msvc2005"



if errorlevel 1 goto VCReportError

goto VCEnd

:VCReportError

echo Project : error PRJ0019: 工具从"Moc'ing qsql_mysql.h..."

exit 1

:VCEnd
]
正在创建命令行“C:\DOCUME~1\txm\LOCALS~1\Temp\BAT00000643563580.bat”
正在创建临时文件“C:\DOCUME~1\txm\LOCALS~1\Temp\BAT00000743563580.bat”,其内容为
[
@echo off

"E:\Qt-opensource-src\bin\moc.exe"  "..\..\..\sql\drivers\mysql\qsql_mysql.cpp" -o ".\tmp\moc\Debug_shared\qsql_mysql.moc"  -D_WINDOWS -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NO_DYNAMIC_CAST -D_WINDLL "-IE:\Qt-opensource-src\include\QtCore" "-IE:\Qt-opensource-src\include\QtSql" "-IE:\Qt-opensource-src\include" "-IE:\Qt-opensource-src\include\ActiveQt" "-I.\tmp\moc\debug_shared" "-Ie:\qt-opensource-src\mkspecs\win32-msvc2005"



if errorlevel 1 goto VCReportError

goto VCEnd

:VCReportError

echo Project : error PRJ0019: 工具从"Moc'ing qsql_mysql.moc..."

exit 1

:VCEnd
]
正在创建命令行“C:\DOCUME~1\txm\LOCALS~1\Temp\BAT00000743563580.bat”
正在创建临时文件“C:\DOCUME~1\txm\LOCALS~1\Temp\RSP00000843563580.rsp”,其内容为
[
/I "E:\Qt-opensource-src\include\QtCore" /I "E:\Qt-opensource-src\include\QtSql" /I "E:\Qt-opensource-src\include" /I "E:\Qt-opensource-src\include\ActiveQt" /I "tmp\moc\debug_shared" /I "e:\qt-opensource-src\mkspecs\win32-msvc2005" /D "_WINDOWS" /D "UNICODE" /D "WIN32" /D "QT_LARGEFILE_SUPPORT" /D "QT_NO_CAST_TO_ASCII" /D "QT_NO_CAST_FROM_ASCII" /D "QT_PLUGIN" /D "QT_SQL_LIB" /D "QT_CORE_LIB" /D "QT_THREAD_SUPPORT" /D "QT_NO_DYNAMIC_CAST" /D "_WINDLL" /FD /MDd /GS- /Zc:wchar_t- /Fo"tmp\obj\debug_shared\\" /Fd".\\" /W3 /c /Zi /TP  -Zm200 -w34100 -w34189

".\tmp\moc\debug_shared\moc_qsql_mysql.cpp"

"..\..\..\sql\drivers\mysql\qsql_mysql.cpp"

".\main.cpp"
]
正在创建命令行“cl.exe @C:\DOCUME~1\txm\LOCALS~1\Temp\RSP00000843563580.rsp /nologo /errorReport:prompt”
正在创建临时文件“C:\DOCUME~1\txm\LOCALS~1\Temp\RSP00000943563580.rsp”,其内容为
[
/OUT:"e:\qt-opensource-src\plugins\sqldrivers\qsqlmysqld.lib" /VERSION:4.73 /LIBPATH:"e:\qt-opensource-src\lib" /DLL /MANIFEST /MANIFESTFILE:"tmp\obj\debug_shared\\qsqlmysqld.lib.intermediate.manifest" /DEBUG libmysql.lib QtSqld4.lib QtCored4.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

".\tmp\obj\debug_shared\main.obj"

".\tmp\obj\debug_shared\qsql_mysql.obj"

".\tmp\obj\debug_shared\moc_qsql_mysql.obj"
]
正在创建命令行“link.exe @C:\DOCUME~1\txm\LOCALS~1\Temp\RSP00000943563580.rsp /NOLOGO /ERRORREPORT:PROMPT”
输出窗口      Moc'ing qsql_mysql.h...
Moc'ing qsql_mysql.moc...
正在编译...
moc_qsql_mysql.cpp
qsql_mysql.cpp
main.cpp
Generating Code...
正在链接...
   Creating library e:\qt-opensource-src\plugins\sqldrivers\qsqlmysqld.lib and object e:\qt-opensource-src\plugins\sqldrivers\qsqlmysqld.exp
LINK : fatal error LNK1104: cannot open file 'e:\qt-opensource-src\plugins\sqldrivers\qsqlmysqld.lib'
结果      生成日志保存在“file://e:\Qt-opensource-src\src\plugins\sqldrivers\mysql\tmp\obj\debug_shared\BuildLog.htm”
qsqlmysql - 1 个错误,0 个警告


懂的帮忙看下
离线slobber
只看该作者 3楼 发表于: 2012-06-03
  1. rem 将Mysql文件夹放到c盘根目录,开始菜单找到vc命令行,x32版,进入qt-src目录,运行以下内容
  2. configure -platform win32-msvc2010 -debug-and-release -nomake examples -nomake demos -no-webkit -no-openssl -no-accessibility -no-native-gestures -no-phonon -no-phonon-backend -no-dbus -no-script -no-scripttools -no-qt3support -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-sql-sqlite -qt-sql-mysql -l libmysql -I C:\MySQL\include -L C:\MySQL\lib -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -qt-style-cde -nomake docs -mp
  3. nmake
不知道你问题在哪,这是我编译QT4.8.2的config,直接用就行了,纯GUI
离线tangxunmin

只看该作者 4楼 发表于: 2012-06-05
回 3楼(slobber) 的帖子
你是cd到src目录 还是src\plugins\sqldrivers\mysql目录下面的?
离线slobber
只看该作者 5楼 发表于: 2012-06-25
回 4楼(tangxunmin) 的帖子
我是编译qt,cd到qt-opensource-4.8.2-src目录,然后configure
离线junwmao

只看该作者 6楼 发表于: 2012-06-26
我之前64位操作系统也是这个问题,不论是nmake还是mingw32-make,后来崩溃了,换成了32位系统,一下子搞定了,不知道会不会是MySQL的驱动不支持64位呀。
快速回复
限100 字节
 
上一个 下一个