草庐IT

hello-jni

全部标签

c++ - Visual Studio 2015连Hello World程序都编译不了

我尝试运行这个简单的Helloworld示例:#includeusingnamespacestd;intmain(){cout但是VS返回了以下错误:c:\programfiles(x86)\microsoftvisualstudio14.0\vc\include\corecrt.h(2):fatalerrorC1083:无法打开文件corecrt.h:没有那个文件或目录经过一番谷歌搜索后,我找到了可能的解决方案。据说将以下值添加到项目->属性->AdditionalIncludeDirectories和AdditionalLibraries:$(UniversalCRT_Includ

java - 使用 jni 从 C++ 将 UTF 字符发送到 Java

我想将Hangul(使用UTF的韩语符号)文本从C发送到JAVA。但是JAVA得到的结果不正确示例:JNIEXPORTjstringJNICALLJava_get_1term(JNIEnv*env,jobject,jinttermInd){constchar*str="음뮤원음직음원샘";return(env)->NewStringUTF(str);}但在那种情况下,JAVA得到了不正确的字符串。我在其他帖子中找不到我的问题的答案,如果有相同的问题请给我他们的链接 最佳答案 试试这个(摘自并改编自here):jstringWindo

java - 在 JNI 中连接 C++ istream/ostream 和 Java InputStream/OutputStream

是否有任何现有的C++/JNI库可以在JavaInputStream和C++istream以及JavaOutputStream之间编码访问和C++ostream?特别是,我希望Java应用程序能够将InputStream或OutputStream传递到使用iostreams作为其流接口(interface)的C++库中.如果不存在现有库,我需要在istream/ostream实现中实现的最低功能是什么以支持它?更糟糕的是,我还需要支持seek和tell,尽管原则上我应该能够使用mark、重置,然后跳过以执行我需要的操作。由于这些流可能非常大,我不想简单地将它们加载到ByteArray中

Windows语音识别Hello World不起作用

我想得到Windows::Media::SpeechRecognition在Windows10上工作,但我很难使我的HelloWorld应用程序正常工作。这是我所做的:我在VS2017中创建了一个新的UWP空白应用程序在里面OnLaunched()方法,我打电话给我Init()初始化语音识别的方法:voidApp::Init(){speechRecognizer=refnewWindows::Media::SpeechRecognition::SpeechRecognizer(Windows::Media::SpeechRecognition::SpeechRecognizer::System

java - jni 在内部类中找不到方法,java.lang.NoSuchMethodError

我有一个关于使用JNI访问嵌套类中的方法的问题。publicclassAccountUI{publicnativeExtrasWageUI[]getExtrasWages();publicclassExtrasWageUI{publicExtrasWageUI(){mCppHandle=callConstructorN();}publicExtrasWageUI(longcppHandle){mCppHandle=cppHandle;}privatenativelongcallConstructorN();}}我将在accountUI.getExtrasWages()处得到错误:jav

c++ - 预链接错误 : prelink-cross: simple hello world example

我正在尝试cross-prelink一个简单的HelloWorld程序。我使用交叉编译工具链arm-2012.03-57-arm-none-linux-gnueabi-i686-pc-linux-gnu我不确定我是否正确使用了prelink-cross选项.如果有人能指出我正确的方向,我会很高兴。关于github上源代码的更多详细信息.谢谢你。项目目录树|-arm-2012.03/|...|-src/|-main.cpp|-bin/|-hello|-prelink_arm.confmain.cpp#includeintmain(intargc,char*argv[]){fprintf(

java - 使用 JNI 将 Scala 对象返回给 C++

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭6年前。Improvethisquestionvm_args.version=JNI_VERSION_1_2;vm_args.nOptions=1;vm_args.options=options;vm_args.ignoreUnrecognized=JNI_FALSE;jintrc=JNI_CreateJavaVM(&jvm,(void**)&env,&vm_args);deleteoptions;if(rc!=JNI_OK){cin.get

java - 使用 JNI 从 Java 访问 C++ 对象数组

关注previousquestion我的,和SomeName的回应,我想尝试相反的方式并加强之前的问题:我想执行以下步骤:在Java中分配缓冲区用C++填充数组用Java编辑值用C++做一些数字运算读取Java中的值考虑以下C++类:#pragmaonce#pragmapack(push,8)classPoint{public:doublex;doubley;Point();virtual~Point();voidebeProduct(Point&other){x=x*other.x;y=y*other.y;}};Point::Point(){}Point::~Point(){}#pr

c++ - 如何用 C++20 协程说 Hello World?

出于学习目的,我尝试使用C++20协程制作过于复杂的“HelloWorld”程序:HelloWorldMessagesayHelloToWorld(){co_yield"Hello";co_yield"";co_yield"World";co_yield"!";}intmain(){for(autow:sayHelloToWorld()){std::cout为了准备这样的HelloWorldMessage生成器,我主要基于最新的clang警告消息和uncompletecppreferencepage还有这个example.所以我的结果如下。这里缺少什么?因为,我没有说你好,而是遇到了段

java - 将 std::unique_ptr 传递给 JNI

我正在用JNI包装一些C++代码,偶然发现了以下工厂函数:std::unique_ptrcreate_metric_planner(*arguments*)我需要将此函数创建的规划器的引用传递回Java以供以后使用,但我很困惑a)如何将其传回,以及b)一旦它被传递下去会发生什么。通常情况下,我都是这样过去的:Director*DIRECTOR=newDirector(arguments);return(jlong)DIRECTOR;它的效果非常好。有人可以解释当使用返回此类指针的工厂函数而不是普通构造函数时使用JNI引用对象的类似过程吗? 最佳答案