掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
自作クラスをヘッダで他のプロジェクトに簡単にインクルードするには? (ID:51729)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> warning LNK4098: defaultlib 'LIBC' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。 > となってしまいました。 > それは、リリースでライブラリを作ったため、リリース用になっている?とゆうことらしく、リリースにするとそのワーニングはなくなりましたが・・・ そのとおりです。 > しかし、それでは、プロパティでいろいろなライブラリの名前を入力設定しなければならずたいへんで、また、ソースを直しながら(CRTの不整合 = ソース間違いの意味??)とゆうことにもいかないため、 難しい気がしましたが・・ えーっと,まず, ・Single Thread ・Single Thread (Debug) ・Multi Thread ・Multi Thread (Debug) ・Multi Thread (DLL) ・Multi Thread (Debug, DLL) の各CRT用のライブラリを作成します。 #仮にファイル名をそれぞれfoos.lib, foosd.lib, foom.lib, foomd.lib, food.lib, foodd.libとします。 そして,ヘッダファイルにそいつを読み込むようなプラグマを埋め込みます。 #if defined(_DLL) #if defined(_DEBUG) #pragma comment(lib, "foodd.lib") #else #pragma comment(lib, "food.lib") #endif /* _DEBUG */ #elif defined(_MT) #if defined(_DEBUG) #pragma comment(lib, "foomd.lib") #else #pragma comment(lib, "foom.lib") #endif /* _DEBUG */ #else #if defined(_DEBUG) #pragma comment(lib, "foosd.lib") #else #pragma comment(lib, "foos.lib") #endif /* _DEBUG */ #endif /* _DLL, _MT */ ↑ライブラリを$(LIB)外に置いているのであれば,フルパスにしてください。 これで,あとはこのヘッダファイルをインクルードするだけで利用可能です。 ちなみに,このプラグマはVC++専用です。 コンパイラによって異なることは覚えておいてください。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.