電子書籍の厳選無料作品が豊富!

VisualC++2008ExpressEditionを使用しています。

スタティックライブラリファイルを作成しようとしているのですが、コンパイルしようとすると、「デバッグセッションの実行可能ファイル」というタイトルのウィンドウが現れ、「デバッグで使用する実行可能ファイル名を指定して下さい。」と出てきます。
libファイルはdllと違いコンパイル時に読み込まれてしまうため、テストしたかったら、EXEファイルをコンパイルして作り直さないといけないと思うのですが、ここでいうデバッグで使用する実行可能ファイルとは、どの様なファイルを指しているのでしょうか?

宜しくお願いします。

A 回答 (4件)

ライブラリのプロジェクトがあるソリューションにテスト用のプロジェクトも作ります。


テスト用のプロジェクトをライブラリに依存させます。
「スタティックライブラリファイル作成時のデ」の回答画像3
    • good
    • 0
この回答へのお礼

ライブラリのプロジェクトにテスト用のプログラムを作成して、ソリューションエクスプローラから、テスト用プログラムのプロジェクト右クリックして、プロジェクト依存関係で、libのプロジェクトを依存先に設定したら、テスト用のプログラムをコンパイルすると、libファイルも一緒に再コンパイルされるようになりました。

ただ、F5キーを押しても、ライブラリのプロジェクトが優先されてるようでライブラリのみがコンパイルされるようです。
実際、ライブラリのプロジェクトの文字が太文字になっています。

これを、テストプログラムの方に変えるにはどの様にすればいいのでしょうか?

お礼日時:2009/06/11 08:23

先に投稿した画像に「スタートアッププロジェクト」というのがありますよね。


これで実行するプロジェクトを選びます。
ソリューションエクスプローラのところでプロジェクト名を右クリックでも選択できます。
    • good
    • 0
この回答へのお礼

出来ました(≧∀≦)
どうもありがとうございました。

お礼日時:2009/06/11 10:17

そのText.EXEをどのようにして作成したのでしょう?



> test.exe'のデバッグ情報が見つからないか、または一致しません。シンボルが読み込まれていません
と出るとすると デバッグモードで生成していないのではないかと思われます

Win32APPなどの雛形(テンプレート)を使って作成したものですか?
CPPのプリプロセッサ定義の _DEBUGを書き換えたりしていませんか

ReleaseモードでEXEを作った場合にも同じようなメッセージが出ると思いますよ
    • good
    • 0
この回答へのお礼

どうやら、EXEファイルのみしか置いてない場所を設定していた空のようです。
EXEファイルと一緒に作成されるtest.pdbも置いておくと、この警告は出なくなりました。

ただ、libファイルの中の関数を書き換えても、デバッグ用のプログラムで表示される内容が変わってないのですが、VC++が自動的に、デバッグ用プログラムの方の関数ではなく新しく作成した、libファイルの関数を優先して呼び出すという感じのことをするわけではないのですか?

お礼日時:2009/06/11 05:39

コンパイルの仕方をどのようにしたのでしょう



F5キーによるコンパイル(本来は実行)なら質問のような現象に見舞われるでしょう
単に Libファイルを生成したいなら F7キーによるビルドでよさそうです

『デバッグで使用する実行可能ファイル名を指定して下さい』
とは そのLibファイルを使用するテストプログラム(EXE)という意味ですよ
    • good
    • 0
この回答へのお礼

>そのLibファイルを使用するテストプログラム(EXE)という意味
とりあえず、ビルドしてlibファイルを作っくたとして、このlibファイルを使用して作ったEXEは、libファイルのデバッグ時にはDLLのように、実行時にテストしたいlibファイルの方から関数を呼び出してくるのですか?

また、とりあえず、lib使って適当に作ったプログラムを指定してみると、

test.exe'のデバッグ情報が見つからないか、または一致しません。シンボルが読み込まれていません。
デバッグを続行しますか?

と、出てきます。
このデバッグ用のプログラムというのは、何か特別なプロジェクトとかで作らないといけないのでしょうか?

お礼日時:2009/06/11 02:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!