0

私は最近、Notepad++ 用の NppAutoIndent プラグインを使い始めました。スマート インデント モードにはかなり満足していますが、スマート インデント モードには微調整したい動作がいくつかあるため、カスタマイズ可能な設定がないことが煩わしいと感じています。変更。プラグインのソース コードを変更して、必要な動作を得るために再コンパイルすることを考えましたが、Visual Studio 2010 があり、プラグインのプロジェクトは VS 2003 プロジェクトのようです。 C/C++ プロジェクト用の Visual Studio プロジェクトを VS 2010 に変換するときに出されるいくつかの警告にどこから対処すればよいかわかりません。

要するに: NppAutoIndent プラグインのよりカスタマイズ可能な代替手段はありますか、または VS 2010 のソース プロジェクトを更新するためのより良い方法はありますか?

アップデート:

ほとんどの警告は次のとおりです。それらの多くは重要ではないように見えますが、どれに注意を払う必要があるかはわかりません.

  • C/C++ コンパイラの例外処理スイッチが変更されたため、このプロジェクトでは /EHsc が /EHa に自動的に変換されました。
  • 新しいプロジェクト ファイル 'C:[...]\NppAutoIndent\project\NppAutoIndent.vcxproj' への変換が完了しました。
  • Visual C++ プロジェクトは組み込みの (既定で) Windows SxS マニフェストを生成する必要があるため、プロジェクト内のマニフェスト ファイルはマニフェスト ツールで自動的にビルドされるようになりました。正しく動作させるには、ビルドを変更する必要がある場合があります。たとえば、マニフェスト ファイルに含まれる依存関係情報は、ソース コードからインクルードされるヘッダー ファイルで "#pragma comment(linker,"")" に変換することをお勧めします。プロジェクトがリソース (.rc) ファイルを使用して RT_MANIFEST リソース セクションに既にマニフェストを埋め込んでいる場合、プロジェクトを正しくビルドするには、その行をコメント アウトする必要がある場合があります。
  • C++ コンパイラの適合性の変更により、プロジェクトがエラーなしでビルドされる前に、コードの変更が必要になる場合があります。以前のバージョンの C++ コンパイラでは、メンバー関数名 (MemberFunctionName など) によるメンバー関数ポインターの指定が許可されていました。C++ 標準では、アドレス取得演算子を使用した完全修飾名が必要です (例: &ClassName::MemberFunctionName)。プロジェクトに Windows フォーム デザイナーで使用されるフォームまたはコントロールが含まれている場合、デザイナーが生成したコードがデリゲートの構築 (イベント ハンドラーで使用) で非準拠の構文を使用していたため、InitializeComponent のコードを変更する必要がある場合があります。
  • このアプリケーションは、Windows Vista のユーザー アカウント制御 (UAC) 機能に関連する設定を含むように更新されました。デフォルトでは、UAC が有効になっている Windows Vista で実行すると、このアプリケーションは、それを起動したプロセスと同じ権限で実行するようにマークされます。このマーキングにより、仮想化でのアプリケーションの実行も無効になります。プロジェクトのプロパティ ページから UAC 関連の設定を変更できます。
  • 「VCCLCompilerTool」の属性「Detect64BitPortabilityProblems」はこのバージョンではサポートされておらず、変換中に削除されました。
  • VCWebServiceProxyGeneratorTool はサポートされなくなりました。ツールがプロジェクト設定から削除されました。
  • C/C++ コンパイラ スイッチ /Og は廃止され、プロジェクト設定から削除されました。代わりに /O1 または /O2 を使用することをお勧めします。
  • VCConvertEngine は、ツール VCCLCompilerTool の下で属性 GlobalOptimizations = TRUE を変換できませんでした。
  • 「VCCLCompilerTool」の属性「Detect64BitPortabilityProblems」はこのバージョンではサポートされておらず、変換中に削除されました。
  • 「VCLinkerTool」の属性「OptimizeForWindows98」はこのバージョンではサポートされておらず、変換中に削除されました。
  • VCConvertEngine は、ツール VCCLCompilerTool の下で属性 GlobalOptimizations = TRUE を変換できませんでした。
  • 「VCCLCompilerTool」の属性「Detect64BitPortabilityProblems」はこのバージョンではサポートされておらず、変換中に削除されました。
  • 「VCLinkerTool」の属性「OptimizeForWindows98」はこのバージョンではサポートされておらず、変換中に削除されました。
  • 「VCCLCompilerTool」の属性「Detect64BitPortabilityProblems」はこのバージョンではサポートされておらず、変換中に削除されました。
  • MSB8012: $(TargetName) ('NppAutoIndent') は、プロジェクト構成 'Debug|Win32' のリンカーの OutputFile プロパティ値 '..\build\NppAutoIndentA_D.dll' ('NppAutoIndentA_D') と一致しません。これにより、プロジェクトが正しくビルドされない可能性があります。これを修正するには、$(TargetName) プロパティ値が %(Link.OutputFile) で指定された値と一致することを確認してください。
  • MSB8012: $(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Debug\NppAutoIndent.dll') は、リンカーの OutputFile プロパティ値 '..\build\NppAutoIndentA_D.dll' (プロジェクト構成 'Debug|Win32' の 'C:[...]\NppAutoIndent\build\NppAutoIndentA_D.dll')。これにより、プロジェクトが正しくビルドされない可能性があります。これを修正するには、$(TargetPath) プロパティの値が %(Link.OutputFile) で指定された値と一致していることを確認してください。
  • MSB8012: $(TargetName) ('NppAutoIndent') は、プロジェクト構成 'Release|Win32' のリンカーの OutputFile プロパティ値 '..\build\NppAutoIndentA.dll' ('NppAutoIndentA') と一致しません。これにより、プロジェクトが正しくビルドされない可能性があります。これを修正するには、$(TargetName) プロパティ値が %(Link.OutputFile) で指定された値と一致することを確認してください。
  • MSB8012: $(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Release\NppAutoIndent.dll') は、リンカーの OutputFile プロパティ値 '..\build\NppAutoIndentA.dll' (プロジェクト構成 'Release|Win32' 内の 'C:[...]\NppAutoIndent\build\NppAutoIndentA.dll')。これにより、プロジェクトが正しくビルドされない可能性があります。これを修正するには、$(TargetPath) プロパティの値が %(Link.OutputFile) で指定された値と一致していることを確認してください。
  • MSB8012: $(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Release Unicode\NppAutoIndent.dll') がリンカーの OutputFile プロパティ値 '..\build\NppAutoIndent.dll' と一致しません('C:[...]\NppAutoIndent\build\NppAutoIndent.dll') プロジェクト構成 'Release Unicode|Win32' 内。これにより、プロジェクトが正しくビルドされない可能性があります。これを修正するには、$(TargetPath) プロパティの値が %(Link.OutputFile) で指定された値と一致していることを確認してください。
  • MSB8012: $(TargetName) ('NppAutoIndent') は、プロジェクト構成 'Debug Unicode|Win32' のリンカーの OutputFile プロパティ値 '..\build\NppAutoIndent_D.dll' ('NppAutoIndent_D') と一致しません。これにより、プロジェクトが正しくビルドされない可能性があります。これを修正するには、$(TargetName) プロパティ値が %(Link.OutputFile) で指定された値と一致することを確認してください。
  • MSB8012: $(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Debug Unicode\NppAutoIndent.dll') がリンカーの OutputFile プロパティ値 '..\build\NppAutoIndent_D.dll' と一致しません('C:[...]\NppAutoIndent\build\NppAutoIndent_D.dll') プロジェクト構成 'Debug Unicode|Win32' 内。これにより、プロジェクトが正しくビルドされない可能性があります。これを修正するには、$(TargetPath) プロパティの値が %(Link.OutputFile) で指定された値と一致していることを確認してください。
4

1 に答える 1

0

VS2010 で VS 2003 プロジェクトを開きます。ダイアログが変換を案内します。指示を読んで、適切なボタンをクリックするだけです。

インデントについては、 Tools ---> Options に移動し、 Language (C++ ) を選択して、formatting に移動します。そこにはたくさんのオプションがあり、必要に応じて変更してください。

これには Notepad++ はまったく必要ありません。ところで、私は Notepad++ の熱心なユーザーであり、お気に入りのエディターです。

お役に立てれば。

于 2011-05-04T12:16:24.593 に答える