• 締切済み

VC++での複数プロジェクトのリンクの方法

VC++2005にてアプリケーションを作成しています。 MFCで別々のPCから新規作成したプロジェクトを、 一つのソリューション内に統合し、ビルドすることでリンクさせ、 一つのアプリとして動作させたいのですが、方法が分かりません。 具体的に言うと、 ・1機能につき1プロジェクト ・ソリューション内に複数プロジェクトが存在 ・機能別にリソースを作成 なぜプロジェクト分割させるかというと、 複数で作成したソースを統合させる際に、 「追加」⇒「既存のプロジェクト」にて、ソースファイルとリソースファイルを、 一括して統合させたいからです。 このような開発の仕方をしたことがないので、この方法が正しいかどうか 分かりませんが、解決策または、より理想的な作成方法をご存知の方おられましたら、 お手数ですがなるべく当方のような初心者でも分かるレベルで、ご教授お願い致します。

みんなの回答

  • BLK314
  • ベストアンサー率55% (84/152)
回答No.1

>・機能別にリソースを作成 "リソース"ですか? "ソース"の間違いではなくって、本当に"リソース"ですね? この違いは非常に重要です。 ソースの統合は簡単にできますが、リソースの統合は難しいからです 例えば、別々に開発していると 異なるダイアログ・テンプレートが偶然同一のIDに#defineされることがあります。 これでは正常動作しません。 プロジェクトAでは0x8000 ~ 0x8FFF プロジェクトBでは0x9000 ~ 0x9FFF というようにリソースIDが重ならないように工夫しなければなりません。 (統合する際に各プロジェクトのresouce.hをチェックし 重なっている場合は、重ならないよう変更してください) あと、プロジェクトの依存関係を設定してください プロジェクトAがプロジェクトBに依存する とは AがBを使用する ことを意味します。

zigen8513
質問者

補足

ご回答ありがとうございます。 >"ソース"の間違いではなくって、本当に"リソース"ですね? はい。リソースです。 ソリューションビューのプロジェクトA選択時に、 右クリック→「プロジェクト依存関係」にて設定することが出来ました。

関連するQ&A

  • VC++でプロジェクト名などを変更する方法

    現在VC++で1つのプロジェクト"A"をかなりやりすすめています。 いま、まったく同じようなプロジェクトなんですか、ちょっと細かいところを変更した別のプロジェクト"B"を作りたいと考えています。 内容はかなり似たものなので、"A"をコピーして"B"としたいのですが、ファイル名や関数名、ソリューションエクスプローラなどを変更して、ソリューションのビルドをすると "B" fatal error LNK1104: コンパイラは、ファイル '.\Debug\"A".res' を開くことができません。 となっていまい、関連付けなどがどうやら"A"ファイルのままになってしまっているみたいなんです。 ちなみにリソースビューのプロジェクト名や.rcファイルの名前も変更する方法がわかりません。 それとも、新規作成で"B"というプロジェクトを作り、中身を移してきたほうが早いのでしょうか? 使い始めの初心者で申し訳ないです。 よろしくお願いいたします。

  • VC++6.0からVC++.NET2005へ移植

    VC++6.0で作成したプログラムをVC++.NET2005に移植しました。 ビルドを行うと『fatal error LNK1104:ファイル'mfc42.lib'を開くことができません。』のエラーが出てしまいます。 ソリューションのプロパティを見てもどこで「mfc42.lib」の参照を定義しているのか分かりません。 どこで「mfc42.lib」の参照を定義しているのか教えてください。また、対策を教えてください。

  • プロジェクトのVC6からVC9の移行時のエラー

    現在、VC6で作成したプロジェクトをVC9に移行しています。 そこで、Debug版でコンパイルするとリンク時に下記エラーがでます。 //下記が、エラー内容 1>LINK : fatal error LNK1104: ファイル 'mfc42d.lib' を開くことができません。 Release版でコンパイルすると発生しません。 他の質問で同じような内容がありましたが、その対策内容を実行しようとするも、よく解りませんでした。 //////////////下記が参考にした解決策等////////////////////////////////// 今試しにVC6で・MFCアプリ(DLL共有) ・SDIアプリ・そのほかはデフォルトという条件で作って、VC2005 Proに変換してみたところ、問題なくコンパイル/リンクまでできました。もしかしてプロジェクトの中(ソリューションのツリーの中)に明示的にmfc42d.libを登録しているということはありませんか?vcのプロジェクトは"プロジェクト名.vcproj"で、単なるテキストファイルなので、その中もよく見てください。 /////////////////////////////////////////////////// 他に解決策はありますか?

  • VC++2008ExpressでProjectのPropertyをco

    VC++2008ExpressでProjectのPropertyをcopyする方法を教えてください。 ひとつのソリューションの下に、いくつかのプロジェクトを作っているのですが、既存のプロジェクトのプロパティ設定が新しく作ったプロジェクトにコピーされないため、プロジェクトを作るたびにプロパティ設定をやり直しています。設定したいのはリンカの追加の依存ファイル、C/C++の追加のインクルードディレクトリ、プロコンパイル済みヘッダの設定などです。 既存プロジェクトのプロパティを新規プロジェクトにコピーする方法がありましたら教えてください。よろしくお願いします。

  • 複数プロジェクト間での値渡し

    .net(2003)にて、一つのソリューション内に既に作成済みの二つのプロジェクト(VB、VC++)を入れて、プロジェクト間の値渡しやオブジェクト?の参照などを行いたいと思っています。一応、ソリューションに2つのプロジェクトを入れるところまではできましたが、肝心な参照などの方法が分かりません。 初歩的なことで申し訳ありませんが教えてください。

  • 巨大アプリケーションの開発

    開発環境:VC++6.0, MFC 私はデスクトップアプリケーションを開発しています。 開発当初から、ウィザードを使用して"MFC AppWizard (exe)" プロジェクトをつくり、開発をつづけてきましたが、 ソースファイルが膨大になってきたので、プロジェクトで 管理するファイル(ソースファイル、リソースファイルなど) を整理したいと思っています。整理するにあたり次の2点を おこなう予定です。 1.ソースファイルを機能別のフォルダに分ける。 2.リソースファイルも機能別に複数のファイルに分割する。 ここで疑問があります。1と2をおこなった場合、VC++6.0 ではフォルダに分けられたソースファイルや複数のリソース ファイルを管理することができるのでしょうか?例えば、 a)ソースファイルをプロジェクトに追加する場合、 プロジェクトファイルが置いてあるフォルダよりも2・3層下 のフォルダ内にあるソースファイルでも追加可能か? b)メニューから新規にクラスを作成した場合、任意の フォルダ(新規クラスに該当する機能のフォルダ)に保存する ことが可能か? c)複数のリソースファイルをプロジェクトに追加し、 個々のリソースファイルを編集することができるか? d)クラスウィザードを使ってイベントの追加ができるか? a)~d)ができないのであれば、みなさんは巨大な アプリケーションを開発する場合どうしていますか? リソースファイルの編集以外は、VC++6.0を使わずに コマンドラインからコンパイルやリンクをおこなっている のですか?

  • プロジェクトフォルダ名の変更法を教えてください。

    VC++2010を使用しています。既存のソリューションをコピーして流用する際に、ソリューション名、プロジェクト名、ソースコードファイル名等、並びにソリューションフォルダ名は変更できるのですが、プロジェクトのファイル名を変更するとエラーになってしまいます。仕方なく、プロジェクトフォルダー名だけは古いままにしていますが、紛らわしいので困っています。プロジェクトフォルダー名を変更するにはどうすれば良いでしょうか。ご教示をお願いします。

  • VC++2010の「#include <」

    VC++ で、他人の作ったソースコードをビルドして実行してみています。 (WinPcapのデベロッパ向けのライブラリを使った、サンプルプログラムです。) VC++自体、あまり理解が深くないのですが、 「#include <」まで書くと、「ヘッダファイル名が表示される」プロジェクトと、「そうではない」プロジェクトがあります。 「そうではない」方のプロジェクトだと、ビルド時にincludeするライブラリが足りないとか、そんな感じのエラーが表示されます。 ぱっと見の違いは、「ヘッダファイル名が表示される」プロジェクトの場合は、 ソリューションエクスプローラに、「外部依存関係」というフォルダのショートカットがあり、ライブラリがどっさりあります。 「そうではない」プロジェクトについても、「#include <」で、ヘッダファイルを表示してくれるようにしたいのですが、どの様にすればよいのでしょうか?★ プロジェクトのプロパティの、 C++>プリプロセッサ>プリプロセッサの定義 リンカー>入力>追加の依存ファイル はどちらのソースも同じにしたのですが…。

  • 複数のプロジェクトがある場合のデバッグについて

    開発環境はVisualStudio2008 、C++にてSDK開発(非MFC)です。 同じような機能を使う通信プログラムを作っており、 クラスファイルを共通で使いたいので 1つのソリューションに2つのプロジェクトを作っています。 デバッグをしたいのですが、最初に作ったプロジェクトが必ずデバッグされてしまいます。 [F5]キーを押した時に、どのプロジェクトをデバッグするか指定する方法はどうすれば良いでしょうか?

  • 【VC++2008】2つのmain()を1つのプロジェクトに含める方法

    【VC++2008】2つのmain()を1つのプロジェクトに含める方法 現在、WinXP proで、VC++2008 Express Editionを使用しています。 1つのプロジェクトでmain()がある2つのソースを 使い分けたいのですが、その方法を教えて頂けませんでしょうか。 (うろ覚えですが、VC++6.0の頃にはできたと思います。) 例えば、以下のような2つのソースを含んだ1つのプロジェクトの 設定方法を教えて頂きたくお願いします。 ※ソースを見やすくするため、全角スペースを入れています。 //ソース名:main01st.cpp #include<stdio.h> void main(){   printf("main01\n");  } } //ソース名:main02nd.cpp #include<stdio.h> void main(){   printf("main02\n");  } }