我正在尝试使用c++版本的语音语音识别API。它是一个用Java构建的API,同时也支持c++。然而,每当我试图执行它时,我就会得到错误
C:UsersyohanDocumentsExtra C++ LibsVoice Recognition - Voce APIvoce-0.9.1srcc++voce.h:34: error: C1083: Cannot open include file: 'jni.h': No such file or directory
这是我的。pro内容
#-------------------------------------------------
#
# Project created by QtCreator 2013-04-26T12:59:05
#
#-------------------------------------------------
QT += core
QT -= gui
TARGET = Tired
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
INCLUDEPATH += C:/opencv/build/include
INCLUDEPATH += C:/opencv/build/include/opencv
INCLUDEPATH += C:/Program Files/Java/jdk1.7.0/include/
INCLUDEPATH += C:/Program Files/Java/jdk1.7.0/include/win32
LIBS += C:/opencv/build/x86/vc9/lib/opencv_calib3d240.lib
LIBS += C:/opencv/build/x86/vc9/lib/opencv_contrib240.lib
LIBS += C:/opencv/build/x86/vc9/lib/opencv_core240.lib
LIBS += C:/opencv/build/x86/vc9/lib/opencv_features2d240.lib
LIBS += C:/opencv/build/x86/vc9/lib/opencv_flann240.lib
LIBS += C:/opencv/build/x86/vc9/lib/opencv_highgui240.lib
LIBS += C:/opencv/build/x86/vc9/lib/opencv_imgproc240.lib
LIBS += C:/opencv/build/x86/vc9/lib/opencv_objdetect240.lib
LIBS += C:/opencv/build/x86/vc9/lib/opencv_video240.lib
HEADERS +=
这是Main.cpp
的代码#include "C:/Users/yohan/Documents/Extra C++ Libs/Voice Recognition - Voce API/voce-0.9.1/src/c++/voce.h"
int main()
{
}
voice .h的一小部分代码如下
#ifndef VOCE_H
#define VOCE_H
// This file contains a C++ interface for Voce's Java functions. All of
// the Java methods in Voce's API are instance methods, so we don't need
// to handle class methods here. For documentation on the specific
// functions, refer to the API documentation for the Java source.
#include <jni.h>
#include <iostream>
#include <string>
/// The namespace containing everything in the Voce C++ API.
namespace voce
{
#ifdef WIN32
const std::string pathSeparator = ";";
#else
const std::string pathSeparator = ":";
#endif
/// Contains things that should only be accessed within Voce.
namespace internal
{
/// Global instance of the JNI environment.
JNIEnv* gEnv = NULL;
/// Global instance of the Java virtual machine.
JavaVM *gJVM = NULL;
//Code Continues..........................................
我怎样才能消除这个错误?我使用的是最新版本的QT,它使用Visual Studio 2010编译器。
您应该引用INCLUDEPATH中包含空格的部分。而不是:
INCLUDEPATH += C:/Program Files/Java/jdk1.7.0/include/
INCLUDEPATH += C:/Program Files/Java/jdk1.7.0/include/win32
你可能应该这样做:
INCLUDEPATH += "C:/Program Files/Java/jdk1.7.0/include/"
INCLUDEPATH += "C:/Program Files/Java/jdk1.7.0/include/win32"