在C ++ Netbeans中构建DLL文件

时间:2014-03-25 03:32:17

标签: c++ gcc netbeans

我正在尝试使用c ++在Netbean中构建以下内容。但是我无法这样做。我收到以下错误。

  

gcc -shared -m32 -o dist / libJNIDemoCdl.so   build / Debug / Cygwin-Windows / JNIDemo.o -mno-cygwin -shared gcc:错误:   无法识别的命令行选项'-mno-cygwin'

我只能使用以下命令手动构建

  

gcc -shared -o dist / libJNIDemoCdl.so   build / Debug / Cygwin-Windows / JNIDemo.o -Wall -D_JNI_IMPLEMENTATION_   -Wl, - 杀-在

如何使用netbean IDE修复此问题?

头文件

#include <stdint.h>
#include <jni.h>
/* Header for class jnidemojava_Main */

#ifndef _Included_jnidemojava_Main
#define _Included_jnidemojava_Main
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     jnidemojava_Main
 * Method:    nativePrint
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_jnidemojava_Main_nativePrint
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

来源

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

JNIEXPORT void JNICALL Java_jnidemojava_Main_nativePrint
        (JNIEnv *env, jobject obj)
{

    printf("\nHello World from C\n");

}

1 个答案:

答案 0 :(得分:2)

Cygwin和gcc删除了-mno-cygwin标志的弃用支持。 您似乎正在使用旧版本的gcc,将您的gcc版本更新为GCC&gt; = 4.3

或关注this guide并从内置工具链描述符中手动删除-mno-cygwin标志