を使用して、コマンドラインからコンパイルしながら、私は次のコマンドを使用して、コマンドラインからVC++プロジェクトの一つをコンパイルしようとしています:LNK2019エラー初めてのMSBuild
msbuild MyProject.vcproj
しかし、私は
error LNK2019: unresolved external symbol…
の多く取得しています
これらのシンボルはすべて、すでにコンパイルされて指定されたパスに存在する1つのライブラリ*.lib
に存在します。 VS IDEを使ってビルドすれば、私のプロジェクトはLNK2019
のエラーなしで正常に構築されます。しかし、何とかコマンドラインのコンパイル中に、ライブラリをリンクすることができません。
これを解決し、コマンドラインコンパイル時にリンクライブラリを使用するにはどうすればよいですか?
コマンドラインオプション:
/Od /I "../" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "MYPROJECT_EXPORTS" /D "_WIN32_DCOM" /D "_CRT_SECURE_NO_WARNINGS" /D "_CRT_NON_CONFORMING_SWPRINTFS" /D "_BIND_TO_CURRENT_VCLIBS_VERSION=1" /D "_VC80_UPGRADE=0x0700" /D "_WINDLL" /D "_MBCS" /Gm /EHsc /RTC1 /MDd /Fo"..\output\debug\x64\\" /Fd"..\output\debug\x64\vc90.pdb" /W3 /nologo /c /Wp64 /Zi /TP /errorReport:prompt
追加オプション:
Build started: Project: MyProject, Configuration: Debug|Win32 (TaskId:1)
Build started: Project: MyProject, Configuration: Debug|x64 (TaskId:1)
Compiling... (TaskId:1)
cl : Command line warning D9035: option 'Wp64' has been deprecated and will be removed in a future release
Build started: Project: MyProject, Configuration: Release|Win32 (TaskId:1)
Compiling... (TaskId:1)
cl : Command line warning D9035: option 'Wp64' has been deprecated and will be removed in a future release
Build started: Project: MyProject, Configuration: Release|x64 (TaskId:1)
私は:
\Y-
はまた、私はそれが表示されていること、ビルドログで一つのことに気づきましたなぜそれがビルドしようとしているのか混乱しているd Win32
構成のいずれかをx64用に構築し、それぞれVisual Studio 2008 x64 Win64 Command Prompt
を使用したいと考えています。これが私の問題を引き起こしているかどうかはわかりませんが。
それはIDEから正常に動作した場合、プロジェクトのプロパティに行く:これはあなたがたとえば、構築したいもので具体的に解決するには
右の* .libファイルが含まれています。 –
@BarmakShemirani OPがmsbuildを使用してビルドされているため、コンパイラ/リンカーを直接呼び出さないので使用できません。 – stijn
@BarmakShemirani完了、確認してください。 – Maven