DLL作成初心者です。
当方で簡単なDLLを作成しました。
試しに、下記の呼び出しAP(EXE)を作成しようと
したのですが、リンクエラーになります。
どうしてでしょうか?
呼び出しAP
#include <windows.h>
int main(){
static HINSTANCE hDLL;
hDLL = LoadLibrary(TEXT("DLL_TEST.DLL"));
if (hDLL) FreeLibrary(hDLL);
return 0;
}
リンクエラーは下記
IBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
Debug/TEST.exe : fatal error LNK1120: 外部参照 1 が未解決です
また上記"_WinMain@16"のライブラリーをリンクさせると
SCRNSAVE.LIB(scrnsave.obj) : error LNK2005: _main はすでに test.obj で定義されています
SCRNSAVE.LIB(scrnsave.obj) : error LNK2001: 外部シンボル "_ScreenSaverProc@16" は未解決です
SCRNSAVE.LIB(scrnsave.obj) : error LNK2001: 外部シンボル "_ScreenSaverConfigureDialog@16" は未解決です
SCRNSAVE.LIB(scrnsave.obj) : error LNK2001: 外部シンボル "_RegisterDialogClasses@4" は未解決です
Debug/TEST.exe : fatal error
等のエラーになります。
解決策を教えてください。
No.2ベストアンサー
- 回答日時:
>ロード方法が誤っているのでしょか?
>記述は以下です。
>static HINSTANCE hDLL;
>hDLL = LoadLibrary(TEXT("DLL_TEST.DLL"));
>
>DLLをフルパスで指定しても同じです。
ロード方法は間違ってないですよ。
やはり見えてないだけでは?
もしかして、DLLとして読み込めないか。
ちなみに、どんな感じでフルパス指定しました?
GetLastError()でエラーの詳細を確認してみてください。
No.3
- 回答日時:
DLLを作成した側の開発環境は何ですか?
DLLを作成した時のプロジェクトの設定とかは?
No.1
- 回答日時:
DLLの呼び出しと全く関係ないエラーしか出ていません。
リンクエラーは、WinMainが無いと怒っています。
main()から始まるプログラムではなく、WinMainから始まるプログラムを書いてください。
>また上記"_WinMain@16"のライブラリーをリンクさせると
どのように判断してSCRNSAVE.LIBをリンクしたんですか?
このライブラリは、名前からも判断できるように、スクリーンセーバー用のライブラリです。
で、まず開発環境は何でしょう?
ありがとうございます。
WinMainを記述したところリンクエラーは解消できました。
ただ、WinMainにてDLLをロードしようとしてるのですが、
エラーとなります。(NULLで返却されます)
ロード方法が誤っているのでしょか?
記述は以下です。
static HINSTANCE hDLL;
hDLL = LoadLibrary(TEXT("DLL_TEST.DLL"));
DLLをフルパスで指定しても同じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース Vue+Laravelのデザインテンプレートのサンプルが起動できない 1 2022/05/18 21:52
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- その他(プログラミング・Web制作) Python でWindowsのショートカット(.lnk)のプロパティを参照したい 1 2023/02/01 15:09
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- C言語・C++・C# 未解決の外部シンボル _printfが関数_mainで参照されました 1 2022/09/18 15:28
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部依存関係について
-
質問させてください。
-
LNK2019: 外部シンボル どのよ...
-
DLL呼び出しAPのリンクエラーに...
-
wsprintfのエラーについて
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
C言語をコンパイルするとコンピ...
-
適切な変換関数が存在しない???
-
アプリケーションのDLLファイル...
-
VBAを何回も作り直して、容量が...
-
1 つ以上の複数回定義されてい...
-
実行後にコンパイルに失敗しま...
-
unsigned long long 型のフォー...
-
<math.h>があるのにsqrtが・...
-
fortranでプログラムを実行する...
-
デバッグとビルドは何が違うの...
-
eclipseでプログラムが実行でき...
-
C言語でヘッダファイルにグロー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
外部シンボルの未解決のエラー
-
コンパイルエラー
-
外部シンボル" ~~"は未解決で...
-
LNK2019: 外部シンボル どのよ...
-
DLL呼び出しAPのリンクエラーに...
-
LNK2001(Pro*c)
-
このプログラムを動かしたいの...
-
error LNK2001について
-
プロセスIDの取得の方法。
-
エラー 未解決の外部シンボル
-
C++ の LNK2001エラー
-
パブリックシンボルとは?
-
OpenCVでの画像サイズ取得につ...
-
C言語のエラー LNK1120: 外部参照
-
C++でのエラー LNK2001
-
「外部参照 1 が未解決です。」...
-
Visual Stdio.netでビルドがで...
-
エラー lnk2019について
-
wsprintfのエラーについて
おすすめ情報