Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++; 我有我的C++代码,我可以在Linux /OSX/Android上运行它。现在的问题是ios。我只是尝试通过完整路径“/foo/blah/myapp.app/haar.xml”加载haar级联xml文件,并进行了一次检查_C++_Ios_Xml_Opencv_Filepath - Fatal编程技术网

C++; 我有我的C++代码,我可以在Linux /OSX/Android上运行它。现在的问题是ios。我只是尝试通过完整路径“/foo/blah/myapp.app/haar.xml”加载haar级联xml文件,并进行了一次检查

C++; 我有我的C++代码,我可以在Linux /OSX/Android上运行它。现在的问题是ios。我只是尝试通过完整路径“/foo/blah/myapp.app/haar.xml”加载haar级联xml文件,并进行了一次检查,c++,ios,xml,opencv,filepath,C++,Ios,Xml,Opencv,Filepath,C++无法确认该文件是否存在,opencv也无法加载该文件。我是ios新手,我知道myapp.app可能是一个像android.apk dir一样的压缩dir 我已经确认我找对了地方……或者至少我希望我找对了!要检查我在C++中使用GETCWD来获得运行目录,我用文件路径确认XML文件。看起来是合法的 我能做什么?关于使用C++的LIB的一个好的部分是我可以为桌面/ Android /iOS使用一个代码库。我真的不想为了文件路径而将Objective-C混合到我的库中 提前谢谢 我使用的代码如下

C++无法确认该文件是否存在,opencv也无法加载该文件。我是ios新手,我知道myapp.app可能是一个像android.apk dir一样的压缩dir

我已经确认我找对了地方……或者至少我希望我找对了!要检查我在C++中使用GETCWD来获得运行目录,我用文件路径确认XML文件。看起来是合法的

我能做什么?关于使用C++的LIB的一个好的部分是我可以为桌面/ Android /iOS使用一个代码库。我真的不想为了文件路径而将Objective-C混合到我的库中

提前谢谢

我使用的代码如下所示:

    std::ifstream fexists(face_haar_path.c_str());
    if(!fexists.good()) {
        std::cout << "Could not find any facehaar.xml" << std::endl;
        return NO_FACE_HAAR_FILE;
    }

    face_haar.load(face_haar_path); //cv::CascadeClassifier face_haar
std::ifstream存在(face_haar_path.c_str());
如果(!fexists.good()){

std::cout在iOS应用程序中添加对文件位置的引用是完全不同的。首先将
.xml
文件添加到您的Xcode项目中,并使用以下代码行加载haar级联。请注意,其中不应包含扩展名
.xml
(例如:对于
face\u frontal.xml
文件,级联名称应为
face\u frontal

NSString*faceCascadePath=[[NSBundle mainBundle]
pathForResource:@“”
类型:@“xml”];
const CFIndex CASCADE\u NAME\u LEN=2048;
char*CASCADE\u NAME=(char*)malloc(CASCADE\u NAME\u LEN);
CFStringGetFileSystemRepresentation((CFStringRef)faceCascadePath,
你的名字,
级联(名称);
如果(!face_cascade.load(cascade_NAME)){
库特
NSString *faceCascadePath = [[NSBundle mainBundle]
                             pathForResource:@"<your_cascade_name>"
                             ofType:@"xml"];
const CFIndex CASCADE_NAME_LEN = 2048;
char *CASCADE_NAME = (char *) malloc(CASCADE_NAME_LEN);
CFStringGetFileSystemRepresentation( (CFStringRef)faceCascadePath,
                                    CASCADE_NAME,
                                    CASCADE_NAME_LEN);
if(!face_cascade.load(CASCADE_NAME)) {
    cout << "Unable to load the face detector!!!!" << endl;
    exit(-1);
}