プロが教える店舗&オフィスのセキュリティ対策術

c言語の初心者なのですが、質問させて下さい。

javaからCのDLLを呼び出したく、
(下記のソースを書いたのですが、VC++でコンパイルすると
LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です
Debug/HelloWorld.exe : fatal error LNK1120: 外部参照 1 が未解決です。
と出てしまいます。
過去ログ等を見て、作成しているプロジェクトが悪いのかなと思い、
MFC appWizark(dll)
win32 Application
win32 Console Application
win32 Dynamic-Link Library
等を作ってみてコンパイルしてみたのですが、駄目でした。

ちなみにDOSプロンプトで
cl -IC:\j2sdk1.4.2_10\include\win32 -LD HelloWorl d.c -o HelloWorld.dll

と実行するときちんとコンパイルできて、正常に実行も出来ました。
VC++でどうやればコンパイルできるのでしょうか?


#include "HelloWorld.h"
JNIEXPORT void JNICALL Java_HelloWorld_printMessage
(JNIEnv *env, jobject me)
{
printf("Helo World!!!\n");
return;
}

A 回答 (1件)

プロジェクト作成時に


win32 Dynamic-Link Library
を使えば良いと思います。以下のサイトが参考になります。

http://www1.u-netsurf.ne.jp/~ysk-net/JSpe/Java/j …

参考URL:http://www1.u-netsurf.ne.jp/~ysk-net/JSpe/Java/j …
    • good
    • 0
この回答へのお礼

ありがとうございます。できました。

お礼日時:2006/10/24 15:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!