
2つのプロジェクトを内包するソリューソンがあるとします。
片方はDLLで、「a.dll」とします。
もう片方はEXEで、「b.exe」とします。
EXEは「a.dll」を使用していて、「a.lib」をリンクしています。
(プロジェクトのリンカーの追加の依存ファイルに「a.lib」を記述)
依存関係も設定し、ビルド順はDLL,EXEの順になっています。
それで、DLL側のソースを更新し、ビルドを行いました。
結果、「a.lib」と「a.dll」が更新されました。
しかし、EXE側はビルドされませんでした。(更新不要で省略された)
「a.lib」をリンクしているので「a.lib」が更新されれば、
少なくともEXE側もリンク(ビルド)する必要があるはずです。
このような場合どのように設定すれば良いのでしょうか?
ちなみに、それぞれを1つソリューソンに分け、
DLL側をビルド、EXE側をビルドとした場合は、
EXE側はリンク(ビルド)されました。
また、Visual Studio 2008以前はこのような事はありませんでした。
Visual Studio 2010になって、この辺りの処理が変わったのでしょうか?
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
プロジェクトの依存関係を設定されましたか?
>「a.lib」をリンクしているので「a.lib」が更新されれば、
>少なくともEXE側もリンク(ビルド)する必要があるはずです。
exe側のプロジェクトでa.libをリンクするように設定してあっても、それは単に「a.libをリンクする」ということを指示するだけであって、VisualStudioは勝手にexeも更新する必要があるとは考えません。
そのために、exe用のプロジェクトがa.lib用のプロジェクトに依存していることを「プロジェクトの依存関係設定」にて設定してください。
>また、Visual Studio 2008以前はこのような事はありませんでした。
>Visual Studio 2010になって、この辺りの処理が変わったのでしょうか?
そのあたりは2008でも2010でも変わっていないと思いますよ。
回答ありがとうございます。
「プロジェクトの依存関係設定」を見直しました。
EXE側はDLL側に依存していて、ビルドの順番もDLL、EXEの順になっていました。
もしかして、ソリューションとEXEは同じドライブで、DLLが別のドライブに保存されているのが悪いのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB2008でのDLL作成方法について
-
h8 モニタプログラムの改良に...
-
Makefileと共有ライブラリ
-
共有ライブラリへのパス指定の方法
-
python エラー
-
アプリケーションのDLLファイル...
-
<unistd.h>をVisualStudioでつ...
-
vb2010にてASPWEBシステムを作...
-
[c++] <pthread.h>がinclude で...
-
リンカのエラー
-
コールバック関数指定時のエラー
-
” OS ビルド ” の意味が分か...
-
visual C++ でビルドの中止がで...
-
デバッグとビルドは何が違うの...
-
gcc で シフトJISを通す方法を...
-
Visual Studio 2008(ASP.net) ...
-
エディタとコンパイラ 基礎
-
Linux(g++)とAIX(XL C++)の挙動...
-
DLLファイルの逆コンパイラにつ...
-
VC++6.0 で使用可能な、"Platfo...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スタティックライブラリ関係の...
-
fatal error LNK1104: ファイル...
-
error LNK2019: 未解決の外部シ...
-
VC++6.0からVC++.NET2005へ移植
-
【VS2008 C++】2つのプロジェ...
-
OpenSSLの共有ライブラリ(libcr...
-
C言語のPathFileExistsについて
-
スタティックリンクライブラリ...
-
C++Builder リンカエラーとは?
-
VC++2008でインポートライブラ...
-
VS2010にて、依存関係とビルド順
-
make中に起こられた、tbbに関す...
-
VisualStudio の規定値が消滅した
-
C/C++の.libについて教えてくだ...
-
静的/動的リンクライブラリにつ...
-
VC++でビルド時の、リンク警告 ...
-
ShellExecute関数について(初...
-
lvwReport/エラー/プロジェクト...
-
gccでの共有ライブラリのver指定
-
operator new が再定義されてい...
おすすめ情報