0

Qtプロジェクト用のMySQLプラグインをビルドしようとしています。他の場所の指示に従っていますが、qmakeによって生成されたmakefileにエラーがあり、DLLを生成するためのnmakeが失敗しているようです。

誰かが別の手順を持っていますか?

そして、なぜこれのためにMySQL DLLをダウンロードできないのか誰かが知っていますか?なぜ誰もがそれを構築しなければならないのですか?

プロセスは次のとおりです。

qmake "INCLUDEPATH+=c:/'Program Files'/MySQL/'Connector C 6.0.2'/include" "LIBS+=-Lc:/'Program Files'/MySQL/'Connector C 6.0.2'/lib/debug " mysql.pro

c:\QtSDK\QtSources\4.8.0\src\plugins\sqldrivers\mysql>nmake debug

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.
    "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\nmake.exe" -f Makefile.Debug

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01

Copyright (C) Microsoft Corporation.  All rights reserved.

    rc -D_DEBUG -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3
DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -fo debug\qsqlmysqld_resource.res qsqlmysqld_resource.rc

'rc' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'rc' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\nmake.exe"' : return code '0x2'
Stop.
4

2 に答える 2

2

Visual Studioのバージョンではなく、通常のコマンドプロンプト/ウィンドウからビルドしていると推測するのは危険です。これは、おそらくすべてのパスが正しく設定されておらず、rcコマンドが見つからないことを意味します。

したがって、もう一度ビルドしてみてください。ただし、今回はVisualStudioのコマンドプロンプトからです。たとえば、スタートメニューのVisualStudioエントリの[VisualStudioツール]の下にあります。

または、 VCVARS32を実行して、通常のコマンドプロンプトですべての適切なパスを設定することもできますが、実際には必要ありません。

于 2012-07-11T06:53:33.110 に答える
0

nmakeを使用してプラグインをビルドする問題を解決しましたが、Qtが認識するプラグインにはなりませんでした。

代わりに、QtCreatorと(Qtソースフォルダーpath / src / plugins / sqldrivers/mysqlに含まれているプロジェクトファイルを使用してプラグインをビルドしました

.proファイルは、includeパスとlibパスがMySQLインストールのパスと一致するように編集する必要があります。.proファイルにあったエントリには、パスにスペースが含まれていましたが、これはビルドされませんでした。mysqlパスをビルドするには、すべてのスペースをmysqlパスから削除する必要がありました。MySQLを「ProgramFiles(x86)」からC:にドラッグし、フォルダー名からスペースを削除しました。

次に、デバッグビルドで-llibmysqldが指定されますが、これはもう存在しないようです。私はそれを-llibmysql(リリースと同じ)に変更し、それから両方のdllが正常にビルドされました。

Qt Creator 2.6.2、Qt4.8.4を使用しました。結果のdllは、VisualStudio2010およびWindows7でビルドされたQtプロジェクトで動作します。

于 2013-03-13T17:09:49.707 に答える