Почему я получаю эту ошибку? - PullRequest
0 голосов
/ 27 августа 2011

ПОСЛЕ РЕДАКТИРОВАНИЯ

Я получаю эту ошибку

1>     Creating library D:\Jni tester\Debug\Jni tester.lib and object D:\Jni tester\Debug\Jni tester.exp
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
1>D:\Jni tester\Debug\Jni tester.exe : fatal error LNK1120: 1 unresolved externals

когда я запускаю следующий код:

#include <jni.h>
#include <stdio.h>
#include "HelloWorld.h"

JNIEXPORT void JNICALL 
 Java_HelloWorld_print( JNIEnv *env , jobject obj) {
printf("Hello World!\n");
return;
 }

Это заголовочный файл HelloWorld.h

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloWorld */

#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     HelloWorld
 * Method:    print
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_HelloWorld_print
(JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

Почему я получаю эту ошибку?

1 Ответ

3 голосов
/ 27 августа 2011

JNIENv должно быть JNIEnv (в нижнем регистре n), как показано в этом руководстве Getting Started .

Редактировать: Как видно из вашей ошибки, вы должны определить проект какDLL, в вашем случае он ищет метод main, так как пытается создать исполняемый файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...