1

私は自分用に作成した非常に大きなプロジェクトを持っており、最近、クライアントがいくつかの変更を加えた独自のバージョンを要求しました。プロジェクト名はかなりばかげていて、私のクライアントはソースを欲しがっていたので、すべてのファイルの名前を

sillyname.h
sillyname.cpp
sillyname.dsp 

など..残念ながら、すべてをまとめて追加した後、プロジェクト名自体を変更する方法がわかりません。さらに、コンパイル時にこのエラーが発生しています。

main.obj : error LNK2001: unresolved external symbol __imp__InitCommonControls@0
Debug/New_Name_Thats_not_so_silly.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

これをすべて変更する簡単な方法が必要ですよね?

4

5 に答える 5

3

これは、Steve Andrews のブログのステップ バイ ステップです (彼は Microsoft で Visual Studio に取り組んでいます)。

于 2008-09-26T20:46:03.353 に答える
1

これを手動で行うのもいつも面倒です。

だから私はグーグルで利用可能ないくつかのツールを試しました-2つは機能しませんでした(ここではVS C ++)、C#の方が便利な場合はわかりません。

次のツールがうまく機能しました。試用版を使用しましたが、39 ドルを支払うことになります。私にとってはそれだけの価値があります。VS アドインもあります。私が見たとき、VS 2013は直接サポートされていませんでした。少なくとも言及されていませんでした

インプレースの名前変更は機能しませんでしたが (アクセス エラー)、「コピー中の名前変更」は問題なく機能しました。

しかし、一部のプログラマーが主張するほど難しいのだろうか。ほとんどのパーツ ファイルの名前変更と、プロジェクト ディレクトリ内のすべてのテキスト ファイル内のすべての出現箇所の検索と置換は、非常に簡単で実用的な方法です。たぶん、誰かが非常に難しいことに貢献できるでしょう。

私の脳の合理的な部分は、夢を見る部分が独自のツールをプログラムすることを禁じています-私は幸運です! :-)

于 2013-08-20T13:39:48.823 に答える
1

これを確認したことはありませんが、これを何度も実行しました。記憶が正しければ、VS2005 の検索と置換機能を実際に使用して、文字列「X」のすべてのインスタンスの名前を「」に変更できます。 Y" は、どのタイプのファイルにも含まれます。次に、ソリューションを閉じて、プロジェクト (および拡張子に関係なく同じ名前の他のファイル) のファイル名を変更する必要があります。

明らかに、後で完全な再構築を行う必要があります。

于 2008-09-26T20:55:25.923 に答える
0

名前が変更された一連のファイルに加えて、元のファイルの完全な「並列」セットを他のディレクトリにまだ維持していると思いますが、そうですか?

両方のバージョンがあると仮定すると、私は次のようにします。

Beyond CompareDiffMergeなどのファイル比較ツールを入手して、古い SLN ファイルと新しい SLN ファイルを並べて比較します。また、各「proj」ファイルとその他の「config」タイプのファイルに対してもこれを行います。

これらのファイルは手動で編集できます。通常、2 つのコピーの違いを調べると、2 つ目のコピーを機能させるために何をすべきかが明らかになります。

いずれにせよ、名前を変更したプロジェクトが既に機能していないことを考えると、名前を変更したプロジェクトを手でいじり始めることもできます。これ以上悪化させることはできません。そして、これらのファイルの XML 構造に関するいくつかの便利なトリックを学べるかもしれません。

このファイルを手動で微調整するときに小さな間違いを犯したとしても、Visual Studio が処理する方法に非常に感銘を受けました。Visual Studio は通常、どこが間違っているかを正確に教えてくれます。

于 2008-09-26T21:01:08.717 に答える
0

単に .vcproj または .dsp ファイルの名前を変更してから、新しいワークスペース (sln dsw) を作成して名前を変更したプロジェクトを含めるか、単に sln ファイル内の名前を変更することができます (それは単なる xml です)。古いワークスペースですが、まだテキストです。

プロジェクト ファイルを編集するすべての .cpp の名前を手動で変更して再インクルードし、そこで名前を変更することができます。

申し訳ありませんが、これらすべてを実行するリファクタリング ツールを知りませんが、おそらく 1 つあるでしょう。

于 2008-09-26T20:40:22.260 に答える