【发布时间】:2013-11-15 00:56:43
【问题描述】:
在使用 g++ 的 Ubuntu Saucy 64 位终端上,我试图将 OpenCV 包装成一种没有强大 C++ ffi 的语言,所以我试图使用 C++ 到 C 包装器来帮助做到这一点......这是文件的一小部分我尝试转换只是为了感受一下(opencv_generated.hpp 和 opencv_generated.cpp 在此链接https://github.com/arjuncomar/opencv-raw)
opencv_generated hpp:
#include <opencv2/opencv.hpp>
#include <vector>
#ifndef __OPENCV_GENERATED_HPP
#define __OPENCV_GENERATED_HPP
using namespace cv;
using namespace std;
using namespace flann;
using namespace cvflann;
extern "C" {
Mat* cv_imread(String* filename, int flags);
void cv_imshow(String* winname, Mat* mat);
bool cv_imwrite(String* filename, Mat* img, vector_int* params);}
opencv_generated.cpp:
#include "opencv_generated.hpp"
using namespace cv;
using namespace std;
using namespace flann;
using namespace cvflann;
extern "C" {
Mat* cv_imread(String* filename, int flags) {
return new Mat(cv::imread(*filename, flags));
}
void cv_imshow(String* winname, Mat* mat) {
cv::imshow(*winname, *mat);
}
bool cv_imwrite(String* filename, Mat* img, vector_int* params) {
return cv::imwrite(*filename, *img, *params);
}}
我是 C++ 的 C 包装器的新手,正在尝试使用
进行编译 g++ -Wall -dynamiclib -I/home/w/test/opencv_generated.hpp
-I/home/w/test/opencv_generated.cpp -o test.so
我遇到错误:
g++: fatal error: no input files
...我在我的 opencv_generated.cpp 和 opencv_generated.hpp 文件所在的目录中,所以我做错了什么??....任何帮助 == 非常有价值=)
【问题讨论】: