0

私たちのチームは、ベースライン全体を VS2008 から VS2012 に移行しています。400 以上の C++ プロジェクトがあります。次のような 6 つの C++ プロジェクトに有線エラーが表示されます。

1>------ Rebuild All started: Project: SSLT, Configuration: Release Win32 ------
1> stdafx.cpp
1> ???
1>c1xx : fatal error C1083: Cannot open source file: '???': No such file or directory
1> ??????????????????????????????
1>c1xx : fatal error C1083: Cannot open source file: '??????????????????????????????': No such file or directory
All files which are the parameters of cl.exe seems in wrong encoding, and cl.exe can't find them.
Firstly, i think it must be encode issues of .vcxproj, so i save as other encoding style. But still happens.
Then i re-upgrade these projects with such issue, but always build error.

最後に、プロジェクト プラットフォーム ツールセットを VS2008 に戻し、パスをビルドします。プロジェクトファイルのエンコード形式が原因ではないと思います。2012 コンパイラを使用している場合、何が問題なのかわかりません。これらのプロジェクトは、2008 コンパイラを使用してエラーをビルドしません。VS2010 から知っているように、プロジェクトの形式が大幅に変更されたため、手がかりが見つかりません。

4

3 に答える 3

1

ところで、このような問題を引き起こす別の理由があります。アップグレード後、*.vcxproj ファイルに 1 つのプロパティがあり、次のように不適切な改行が行われました。

このような問題を抱えているプロジェクトの 80% は、このような問題が原因です。

于 2012-12-19T09:01:38.323 に答える
0
  • 新しいサンプルプロジェクトを作成して、VSが期待するエンコーディングを確認し、ファイルをそれに変換します。
  • または、方法:VisualC++プロジェクトをVisualStudio2012にアップグレードするには、VS2012で開いたときにVS2008プロジェクトをアップグレードする必要があると書かれています。

これを確認するためのVS2012インストールはありませんが、DLLの1つでプロジェクトをプログラムで変換する関数がある可能性があります-ベースのスクリプトで検索するか、サンプルプロジェクトの変換中にdumpbinスタックトレースを調べてみてください。procmon

于 2012-12-17T09:41:19.250 に答える
0

ご返信いただきありがとうございます。スクリプトで devenv.exe /upgrade *.vcproj を使用して、プロジェクトを自動的にアップグレードします。今日、根本的な原因はプリコンパイル ヘッダー ファイルであることがわかりました: stdafx.h。これは、プリコンパイルのヘッド ファイル参照が間違っているためです。混乱したファイル名の問題が発生します。

于 2012-12-19T06:35:17.293 に答える