[解決済み] DLLリンクの不整合について
2022-02-03 18:33:05
質問
このリンクの警告を消すにはどうしたらいいですか?この警告を発生させるコードセグメントが表示されます。
static AFX_EXTENSION_MODULE GuiCtrlsDLL = { NULL, NULL };
//bla bla
// Exported DLL initialization is run in context of running application
extern "C" void WINAPI InitGuiCtrlsDLL()
{
// create a new CDynLinkLibrary for this app
new CDynLinkLibrary(GuiCtrlsDLL);
// nothing more to do
}
警告 C4273: InitGuiCtrlsDLL' : 整合性のないDLLリンクがあります。
というようなexportやimportの定義もあるのですが。
#ifdef _GUICTRLS
#define GUI_CTRLS_EXPORT __declspec(dllexport)
#else
#define GUI_CTRLS_EXPORT __declspec(dllimport)
#endif
解決方法は?
複数の可能性があります。
1)
static AFX_EXTENSION_MODULE GuiCtrlsDLL = { NULL, NULL };
AFX_EXTENSION_MODULE を使っていますね。これは、MFC 拡張 DLL を実装していることを意味します。このような拡張DLLでは、プリプロセッサ_AFXEXTを定義する必要があります。Visual C++プロジェクトのC++コンパイラの設定でこれを設定します。
をご覧ください。
MFC拡張DLLで_declspec(dllexport)を使用する方法。 http://support.microsoft.com/kb/128199
AFX_EXTENSION_MODULE の構造体です。 http://msdn.microsoft.com/en-us/library/sxfyk0zk.aspx
TN033 MFCのDLLバージョン。 http://msdn.microsoft.com/en-us/library/hw85e4bb.aspx
2) 定義・宣言が重複している可能性があります。
関連
-
[解決済み】抽象クラス型の無効なnew-expression
-
[解決済み] 非常に基本的なC++プログラムの問題 - バイナリ式への無効なオペランド
-
[解決済み] 既に.objで定義されている-二重包含はない
-
[解決済み】「Expected '(' for function-style cast or type construction」エラーの意味とは?
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み】Visual C++で "Debug Assertion failed "の原因となる行を見つける。
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】C++の余分な資格エラー
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み】VC++の致命的なエラーLNK1168:書き込みのためにfilename.exeを開くことができません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み】構造体のベクター初期化について
-
[解決済み] [Solved] Error C1083: Cannot open include file: 'stdafx.h'
-
[解決済み] error: 'ostream' does not name a type.
-
[解決済み] クラスにデフォルトコンストラクタが存在しない。
-
[解決済み】C++エラー:の初期化に一致するコンストラクタがありません。
-
[解決済み】cc1plus:エラー:g++で認識されないコマンドラインオプション"-std=c++11"
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み】Enterキーを押して続行する
-
[解決済み] 警告:暗黙の定数変換でのオーバーフロー