首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使在添加def之后,"C“也不允许出现错误"Linkage规范”。在头文件里?

即使在添加def之后,"C“也不允许出现错误"Linkage规范”。在头文件里?
EN

Stack Overflow用户
提问于 2015-06-25 12:19:41
回答 1查看 4.4K关注 0票数 1

这是我的main.cpp文件中的代码:

代码语言:javascript
复制
extern "C" JNIEXPORT jint JNICALL Java_SomefnHandling_Jni_1someInit (JNIEnv * env, jobject , jstring var1, jstring var2)
{
    //rest part of code in here
}

这是我的main.h文件中的定义:

代码语言:javascript
复制
#ifdef __cplusplus
extern "C" {
    #endif
    JNIEXPORT jint JNICALL Java_Someufnhandling_Jni_1someInit
        (JNIEnv *, jobject, jstring, jstring);

    #ifdef __cplusplus
}
#endif

这个程序从一个java文件中获取两个参数,并使用jni接口传递到我的dll,但是在这个文件中,我得到了错误:

不允许连接规格

我正在使用VC++来生成DLL文件,并试图从中找到相同的解决方案,但是他们都提到了添加def。在你的头文件里。即使这样做了,错误仍然保持不变。知道吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-10 04:05:27

我删除了我在main函数中调用的方法,并将它放在main之外,简单地说,它开始像魅力一样工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31050199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档