0

私はCMakeを使用して、Visual Studio2010Expressを使用してWindows上でQtベースのアプリケーションを構築しています。cmakeで設定すると、次のエラーが発生します。

System runtime library file does not exists:
'MSVC10_REDIST_DIR-NOTFOUND/x86/Microsoft.VC100.CRT/msvcp100.dll

System runtime library file does not exists:
'MSVC10_REDIST_DIR-NOTFOUND/x86/Microsoft.VC100.CRT/msvcr100.dll

次に、コンパイルしようとすると、次のエラーが発生します(Visual Studioとmsbuildの両方で試行しています)。

MSVCRT.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
C:\Users\Kurtis\sandbox\UDJ-Desktop-Client\build\src\Release\UDJ.exe : fatal error LNK1120: 1 unresolved externals

Microsoft Visual C ++ 2010 Expressには、必要な再配布可能ファイルが付属していないと判断しました。そこで、MicrosoftのWebサイトにアクセスして、再配布可能ファイル(x86x64の両方)をダウンロードしました。ただし、インストールした後も、上記の構成およびコンパイルエラーが発生します。誰かが私が間違っていること、または私の問題を解決する方法を知っていますか?

4

1 に答える 1

2

_WinMain@16はWindowsGUIアプリケーションのエントリポイントであるため、ソースコードから欠落しているか、GUIアプリケーションを作成していないため、リンカーフラグが正しくありません。

qtを使用しているので、QtMainライブラリがプロジェクトにリンクされていることを確認してください。これを行うには、次のようにFind_Packageの呼び出しに追加します。

find_package(Qt4 4.7.0 COMPONENTS QtMain QtCore QtGui QtSQL Phonon REQUIRED)
于 2012-05-20T19:57:34.350 に答える