5

私のプロジェクトは、VS 2010のデバッグモードとリリースモードでコンパイルおよび実行されています。今日、VS 2012でコンパイルしようとしましたが、次のエラーが発生しました。

1>  Generating Code...
1>pcrecppd.lib(pcrecpp.obj) : error LNK2038: mismatch detected for '_MSC_VER': 
value '1600' doesn't match value '1700' in NamesEditorDlg.obj

コードで「_MSC_VER」を検索しましたが、一致するものが見つかりませんでした。「1600」または「1700」も見つかりませんでした。

だから私はこの問題をどのように解決できるのか疑問に思っています。

4

4 に答える 4

5

vc2012でvc2010の.libを使用しているようです(おそらくPCREライブラリのように見えます)。すべての.libsまたはランタイムリンクをDLL(つまり、LoadLibrary、GetProcAddressなど)で再コンパイルする必要があります。

于 2012-08-05T20:32:10.803 に答える
3

[プロジェクトのプロパティ]で、[全般]を選択し、[プラットフォームツールセット]設定を[Visual Studio 2010(v100)]に変更します。それを行った後、私のコードは元のライブラリで正常にコンパイルされました。

于 2012-11-16T19:03:37.747 に答える
1

http://msdn.microsoft.com/en-us/library/b0084kay.aspxで調べてください変数はコンパイラのバージョン番号を保持しているようです。それを修正する最善の方法は、2012年に新しいプロジェクトを作成し、その新しいプロジェクトにソースファイルを追加することだと思います。

于 2012-08-04T13:43:25.677 に答える
0

いいえ、必要なのはプロジェクトのプロパティを確認することだけです。古いプロジェクトファイルへのリンクがあります。「.NETFrameworkとリンク」ページでプロジェクトのプロパティを開く必要があります。すべてのリンクは、新しい2012プロジェクトファイルに新しく追加されます。

于 2012-08-16T08:25:07.960 に答える