Closed lz199144 closed 8 years ago
What was the solution btw? I have never seen this error.
@anuranbaka I solved the problem by rebuilding the opencv.
Same issue here, didn't compile. I reinstalled OpenCV-3.0.0 with CUDA and GPU switched ON. Yet, compile was not successful.
In file included from /home/tabuhashim/Dev/OpenDTAM/Cpp/CostVolume/CostVolume.hpp:10:0,
from /home/tabuhashim/Dev/OpenDTAM/Cpp/CostVolume/CostVolume.cpp:6:
/usr/local/include/opencv2/gpu/gpu.hpp:432:29: error: ‘vector’ does not name a type
CV_EXPORTS void merge(const vector
is your std::vector not linking in properly? On my system the standard library is a default include, but you should check on yours
Hi anuranbaka;
Which OpenCv are you using? I am using OpenCV-3.0.0 I had to add using namespace std; before
in CostVolume.hpp
However, now I get the following error when running make.
/home/tabuhashim/Dev/OpenDTAM/Cpp/CostVolume/CostVolume.cpp: In constructor ‘CostVolume::CostVolume(cv::Mat, FrameID, int, float, float, cv::Mat, cv::Mat, cv::Mat, float, Norm, float, float)’:
/home/tabuhashim/Dev/OpenDTAM/Cpp/CostVolume/CostVolume.cpp:84:108: error: no matching function for call to ‘cv::Ptr
I have side by side installs of 3.0 and 2.4.8 Different branches use different ones, but I forget which is which off the top of my head. In general if it uses the cuda namespace it is 3 and gpu is 2.4.8 iirc
@lz199144 hello,l have got the same error. please tell me the version of opencv you used?
@Tariq-Abuhashim Same issue here, have you solved the problem ? I am building with opencv 3.1.0, no luck by rebuilding with CUDA.
I fixed it by re-build 249 opencv with CUDA and modify the CMakeList.txt using 249
I just installed cuda 7 and opencv 2.4.8 successfully, what's wrong? lz@lz-pc:~/OpenDTAM/Cpp/build$ make [ 5%] Building CXX object CMakeFiles/OpenDTAM.dir/CostVolume/CostVolume.cpp.o In file included from /home/lz/OpenDTAM/Cpp/CostVolume/CostVolume.hpp:10:0, from /home/lz/OpenDTAM/Cpp/CostVolume/CostVolume.cpp:6: /usr/include/opencv2/gpu/gpu.hpp:432:29: error: ‘vector’ does not name a type CV_EXPORTS void merge(const vector& src, GpuMat& dst, Stream& stream = Stream::Null());
^
/usr/include/opencv2/gpu/gpu.hpp:432:35: error: expected ‘,’ or ‘...’ before ‘<’ token
CV_EXPORTS void merge(const vector& src, GpuMat& dst, Stream& stream = Stream::Null());
^
/usr/include/opencv2/gpu/gpu.hpp:438:42: error: ‘vector’ has not been declared
CV_EXPORTS void split(const GpuMat& src, vector& dst, Stream& stream = Stream::Null());
^
/usr/include/opencv2/gpu/gpu.hpp:438:48: error: expected ‘,’ or ‘...’ before ‘<’ token
CV_EXPORTS void split(const GpuMat& src, vector& dst, Stream& stream = Stream::Null());
^
/usr/include/opencv2/gpu/gpu.hpp:1265:4: error: ‘vector’ does not name a type
vector locations;
^
/usr/include/opencv2/gpu/gpu.hpp:1266:4: error: ‘vector’ does not name a type
vector confidences;
^
/usr/include/opencv2/gpu/gpu.hpp:1267:4: error: ‘vector’ does not name a type
vector part_scores[4];
^
/usr/include/opencv2/gpu/gpu.hpp:1285:31: error: ‘vector’ does not name a type
void setSVMDetector(const vector& detector);
^
/usr/include/opencv2/gpu/gpu.hpp:1285:37: error: expected ‘,’ or ‘...’ before ‘<’ token
void setSVMDetector(const vector& detector);
^
/usr/include/opencv2/gpu/gpu.hpp:1287:12: error: ‘vector’ does not name a type
static vector getDefaultPeopleDetector();
^
/usr/include/opencv2/gpu/gpu.hpp:1288:12: error: ‘vector’ does not name a type
static vector getPeopleDetector48x96();
^
/usr/include/opencv2/gpu/gpu.hpp:1289:12: error: ‘vector’ does not name a type
static vector getPeopleDetector64x128();
^
/usr/include/opencv2/gpu/gpu.hpp:1291:36: error: ‘vector’ has not been declared
void detect(const GpuMat& img, vector& found_locations,
^
/usr/include/opencv2/gpu/gpu.hpp:1291:42: error: expected ‘,’ or ‘...’ before ‘<’ token
void detect(const GpuMat& img, vector& found_locations,
^
/usr/include/opencv2/gpu/gpu.hpp:1295:46: error: ‘vector’ has not been declared
void detectMultiScale(const GpuMat& img, vector& found_locations,
^
/usr/include/opencv2/gpu/gpu.hpp:1295:52: error: expected ‘,’ or ‘...’ before ‘<’ token
void detectMultiScale(const GpuMat& img, vector& found_locations,
^
/usr/include/opencv2/gpu/gpu.hpp:1300:47: error: ‘vector’ has not been declared
void computeConfidence(const GpuMat& img, vector& hits, double hit_threshold,
^
/usr/include/opencv2/gpu/gpu.hpp:1300:53: error: expected ‘,’ or ‘...’ before ‘<’ token
void computeConfidence(const GpuMat& img, vector& hits, double hit_threshold,
^
/usr/include/opencv2/gpu/gpu.hpp:1303:57: error: ‘vector’ has not been declared
void computeConfidenceMultiScale(const GpuMat& img, vector& found_locations,
^
/usr/include/opencv2/gpu/gpu.hpp:1303:63: error: expected ‘,’ or ‘...’ before ‘<’ token
void computeConfidenceMultiScale(const GpuMat& img, vector& foundlocations,
^
/usr/include/opencv2/gpu/gpu.hpp:1835:5: error: ‘vector’ does not name a type
vector prevPyr ;
^
/usr/include/opencv2/gpu/gpu.hpp:1836:5: error: ‘vector’ does not name a type
vector nextPyr;
^
/usr/include/opencv2/gpu/gpu.hpp:1838:5: error: ‘vector’ does not name a type
vector buf ;
^
/usr/include/opencv2/gpu/gpu.hpp:1839:5: error: ‘vector’ does not name a type
vector unused;
^
/home/lz/OpenDTAM/Cpp/CostVolume/CostVolume.cpp: In constructor ‘CostVolume::CostVolume(cv::Mat, FrameID, int, float, float, cv::Mat, cv::Mat, cv::Mat, float, Norm, float, float)’:
/home/lz/OpenDTAM/Cpp/CostVolume/CostVolume.cpp:84:108: error: no matching function for call to ‘cv::Ptr::Ptr(int)’
R(R),T(T),occlusionThreshold(occlusionThreshold),norm(norm),initialWeight(initialWeight),_cuArray(0) {