DLLの作成方法について – プログラミング – Home

通知
すべてクリア

[解決済] DLLの作成方法について


マイケル
 マイケル
(@マイケル)
ゲスト
結合: 16年前
投稿: 5
Topic starter  

よろしくお願いします。
VS2005です
ダイナミック リンク ライブラリ(DLL)の基礎知識 http://exlight.net/devel/windows
/dll/windll.html
を参考に、DLLの作成方法、使い方を学習しています
sub.dllは作成されているのですが

sub.c
warning C4273: 'sub' : dll リンクが一貫していません。
'sub' の前の定義を確認してください

main_static.c
main_static.obj : error LNK2019: 未解決の外部シンボル __imp__sub が関数 _main で
参照されました。
MSVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関
数 ___tmainCRTStartup で参照されました。
fatal error LNK1120: 外部参照 2 が未解決です。

この様なエラーがでてしまいます、ご教示願います。

// main_static.c
#include <stdio.h>
#include <windows.h>

__declspec(dllimport) int sub(int);

int main(void)
{
printf(main %d\n, sub(1));
return 0;
}

// sub.c
#include <stdio.h>
#include <windows.h>

__declspec(dllimport) int sub(int);

int main(void)
{
printf(main %d\n, sub(1));
return 0;
}

// sub.h
#if !defined(_SUB_H_)
#define _SUB_H_

__declspec(dllimport) int sub(int arg);

#endif


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

sub.cのナカミがmainになってますけどー


返信引用
マイケル
 マイケル
(@マイケル)
ゲスト
結合: 16年前
投稿: 5
Topic starter  

επιστημηさん、お世話になります。
失礼しました、誤記載です
// sub.c
#include <stdio.h>
#include sub.h
__declspec(dllexport) int sub(int arg)
{
printf(sub %d\n, arg);
return arg + 1;
}


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

何の問題もなくコンパイル/実行できましたよ。

cl -LD sub.c
cl main_static.c sub.lib


返信引用
マイケル
 マイケル
(@マイケル)
ゲスト
結合: 16年前
投稿: 5
Topic starter  

お世話になります
>>cl -LD sub.c
>>cl main_static.c sub.lib
これなんですけど、コマンドライン(cmd.exe)からの、コンパイルですよね?
C:\直下に
sub.h
sub.c
main_static.c
これらのファイルを置いて上記の方法でコンパイルすると
'cl' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
となってしまいます・・・


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

Pathが通ってないんでしょうね。


返信引用
マイケル
 マイケル
(@マイケル)
ゲスト
結合: 16年前
投稿: 5
Topic starter  

やっぱりそうですか・・・orz
JavaのコンパイラとIDEを、インストールしてから、VS2005の様子が
なんかおかしくなった気がしてました
Path=C:\Program Files\Microsoft Visual Studio 8\VC\bin
追加して再起動します


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

めんどくせーなー、
つ【 http://cid-
07c558f8e11e708f.skydrive.live.com/self.aspx/WillBeRemovedSoon/dll.zip】


返信引用
マイケル
 マイケル
(@マイケル)
ゲスト
結合: 16年前
投稿: 5
Topic starter  

επιστημηさんThxです
DLさせて頂きました、動きますね?
どこの設定が違うのだろうと、小一時間・・・・
orz


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました