よろしくお願いします。
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
sub.cのナカミがmainになってますけどー
επιστημηさん、お世話になります。
失礼しました、誤記載です
// sub.c
#include <stdio.h>
#include sub.h
__declspec(dllexport) int sub(int arg)
{
printf(sub %d\n, arg);
return arg + 1;
}
何の問題もなくコンパイル/実行できましたよ。
cl -LD sub.c
cl main_static.c sub.lib
お世話になります
>>cl -LD sub.c
>>cl main_static.c sub.lib
これなんですけど、コマンドライン(cmd.exe)からの、コンパイルですよね?
C:\直下に
sub.h
sub.c
main_static.c
これらのファイルを置いて上記の方法でコンパイルすると
'cl' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
となってしまいます・・・
Pathが通ってないんでしょうね。
やっぱりそうですか・・・orz
JavaのコンパイラとIDEを、インストールしてから、VS2005の様子が
なんかおかしくなった気がしてました
Path=C:\Program Files\Microsoft Visual Studio 8\VC\bin
追加して再起動します
めんどくせーなー、
つ【 http://cid-
07c558f8e11e708f.skydrive.live.com/self.aspx/WillBeRemovedSoon/dll.zip】
επιστημηさんThxです
DLさせて頂きました、動きますね?
どこの設定が違うのだろうと、小一時間・・・・
orz