※ ChatGPTを利用し、要約された質問です(原文:CのDLLをVC++でコンパイルしたいのですが、エラーになってしまいます。)
CのDLLをVC++でコンパイルする方法は?
このQ&Aのポイント
質問者はC言語初心者で、VC++でCのDLLをコンパイルする方法について質問しています。
具体的なエラーメッセージとして、LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です Debug/HelloWorld.exe : fatal error LNK1120: 外部参照 1 が未解決です。と出ています。
質問者はDOSプロンプトでのコンパイルは成功しているが、VC++でのコンパイルがうまくいかない状況です。
CのDLLをVC++でコンパイルしたいのですが、エラーになってしまいます。
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;
}
お礼
ありがとうございます。できました。