[Visual C++] プロジェクトをコピーしたものから開発を始めたい

似たような仕様だから、以前作ったプロジェクトをベースにしたいことは結構あると思います。

プロジェクト(ソリューション)のディレクトリをコピーして、まったく別の名前のプロジェクトとして新しくはじめる方法。

 ※他のディレクトリやマシンに持っていってビルドできないというのは論外ですのでその説明は行いません。

VisualC++6.0以前は意外と簡単にできていました。単純にコピーしてプロジェクトを置換していけばいけたはずです。

リソースだって2つ開いてコピーとかもできましたからこの方法をよく使っていました。

しかしVisual Studuoが.NETとして統合されてから、格段に使い勝手も安定度も悪くなってしまいました。

とそれはさておき

準備

プロジェクトのファイルで必要なのは.slnと.vcprojだけで他はいらないので削除してください。

※.ncb,.apsなどは消しても勝手に生成されます。.rcとかresource.hとかstdafx.cppとか自分で作ってないものがほかにもありますが、これらはソースコードの部類になるもので設定ファイルのようなものとは異なります。

.vcprojもユーザー名のついてないものだけでいいです。

※VC10からはフォーマットが変わっています。.vcprojと.vcproj.filtersを残してください。VC8以前の.vcprojから選んだファイルとフィルタ(表示のグループ分けのようなもの)はファイル分割されました。

ちなみにSolution Fileに書いてあるFormat Versionを見ればどのバージョンのVCを使って作られたものかわかります。

VisualStudio Version VC++ Version Format Version
VisualStudio2002 VC7.0 7.0
VisualStudio2003 VC7.1 8.0
VisualStudio2005 VC8 9.0
VisualStudio2008 VC9 10.0
VisualStudio2010 VC10 11.0

準備としてguidgen.exeを立ち上げておいてください。

Visual Studio の外部ツール

設定ファイルの修正

ソリューションファイル(.sln)

プロジェクト名やファイル名の置換はVC6のときと同じくおこなっていきます。秀丸とかでちゃちゃっとやります。と同時にGUIDを変更していきます。

solution file

最初の8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942はVCのものなので変更する必要はありません。

その後にあるGUIDはプロジェクトのものなのでguidgen.exeで生成したものに置換します。下にあるソリューションのGUIDも同じ値があれば置換します。(置換前が同じ値であれば、置換後の値も同じ値に変更してください。別の値にしてはいけませんよ)

プロジェクトファイル(.vcproj)

ここにも同じ値があるはず(ProjectGUID)なので、置換します 。

ずーっと見ていってGUIDの形式のところがあれば、残りは全部違う値だと思いますので1つずつ、giudgenで新しくGUIDを生成して置き換えます。(VC10以降はこのフィルタ部分は別ファイルになったのでそのファイルのGUIDを変更してください)

名前の置換も忘れずに

リソース

.rcでは置換はファイル名ぐらいだと思います。もしファイル名を変えたらres下にあるアイコンや.rc2などのリソースのファイル名を変更するのを忘れないように。

各ソース

プロジェクトファイルでファイル名などを変更した場合は、ソースそのもののファイル名だけでなくインクルードを記述したところなども注意して変更する必要があります。

 

ということで結局のところguidのところ以外はVC++6以前とあまり変わらない手順でしたね。

カテゴリー: VC++, 技術情報 タグ: , ,

関連してるかも記事

この記事へのコメント

※コメントはスパム対策の為、承認制となっています。あらかじめご了承ください。

トラックバックURL