1ソリューション2プロジェクト間で関数コール可能?

[戻る]
とるまリンゴ 2006/05/10(水) 17:56:58
VC++2005で、
1ソリーションに2プロジェクト用意した環境に於いて、
(このソリーション内で)別プロジェクトの関数コールはできるのでしょうか?

REE 2006/05/10(水) 18:46:41
そのプロジェクトの関係によります。

シャノン 2006/05/10(水) 19:02:35
呼ばれる側が可能な作りになっていれば可能です。

とるまリンゴ 2006/05/11(木) 11:18:53
REEさん、シャノンさん 返信ありがとうございます。

> そのプロジェクトの関係によります。
> 呼ばれる側が可能な作りになっていれば可能です。

何が出来るかわかっておらず、調査しているところです。
もし、参考となりそうな URL、書籍等、Web検索キーワード等
の情報がありましたが、ご教授願えないでしょうか。
(探している最中なのですが、Web、MSDNヘルプで見つからず)

やりたいことは、以下です。
下記コードだとビルドエラーになってしまいます。

<例>
  1.プロジェクト(VC++2005 1ソリーションに2プロジェクト)
       @ CLR「Windowsフォームアプリケーション」<-- 起動プロジェクト
            ここからAプロジェクトのライブラリC関数を使う。
       A Win32アプリケーション スタティックライブラリ

  2.コード
     @ 
        extern int proj2LibFunc(void);

        void proj1Func( void )
        {
            BOOL   bRetLib;
            bRetLib = proj2LibFunc();
        }

     A
        int prj2LibFunc( void )
        {
           int    iRet;
           iRet = 1;       //← 実際には、ある計算結果
           return iTemp
        }

 <ビルドエラー>
     エラー  44  error LNK2028: 未解決のトークン (0A00000B) "int __clrcall
         prj2LibFunc(void)" (?prj2LibFunc@@$$FYMHXZ) が関数 "int __clrcall
         main (cli::array<class System::String ^ >^)" (?
         main@@$$HYMHP$01AP$AAVString@System@@@Z) で参照されました。
         main.obj

     エラー  45  error LNK2019: 未解決の外部シンボル "int __clrcall
         prj2LibFunc(void)" (?prj2LibFunc@@$$FYMHXZ) が関数 "int __clrcall
         main(cli::array<class System::String ^ >^)" (?
         main@@$$HYMHP$01AP$AAVString@System@@@Z) で参照されました。
         main.obj

REE 2006/05/11(木) 12:07:58
@のプロジェクトに
Aのプロジェクトで出来たライブラリファイルを
リンクするようにしていますか?

# 同じソリューションでも違うソリューションでもやることは同じです。

古いスレッドには追加発言できません。