From: Andrey Kamaev Date: Fri, 21 Dec 2012 15:58:51 +0000 (+0400) Subject: Fix build with STLPort from NDK r8d X-Git-Tag: accepted/2.0/20130307.220821~246^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9944282b0993c5474cf30a108a369e56c600d75d;p=profile%2Fivi%2Fopencv.git Fix build with STLPort from NDK r8d --- diff --git a/modules/androidcamera/src/camera_activity.cpp b/modules/androidcamera/src/camera_activity.cpp index 28e18c4..37144ba 100644 --- a/modules/androidcamera/src/camera_activity.cpp +++ b/modules/androidcamera/src/camera_activity.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -303,8 +304,8 @@ std::string CameraWrapperConnector::getPathLibFolder() LOGD("Library name: %s", dl_info.dli_fname); LOGD("Library base address: %p", dl_info.dli_fbase); - const char* libName=dl_info.dli_fname; - while( ((*libName)=='/') || ((*libName)=='.') ) + const char* libName=dl_info.dli_fname; + while( ((*libName)=='/') || ((*libName)=='.') ) libName++; char lineBuf[2048]; @@ -312,9 +313,9 @@ std::string CameraWrapperConnector::getPathLibFolder() if(file) { - while (fgets(lineBuf, sizeof lineBuf, file) != NULL) - { - //verify that line ends with library name + while (fgets(lineBuf, sizeof lineBuf, file) != NULL) + { + //verify that line ends with library name int lineLength = strlen(lineBuf); int libNameLength = strlen(libName); @@ -327,7 +328,7 @@ std::string CameraWrapperConnector::getPathLibFolder() if (0 != strncmp(lineBuf + lineLength - libNameLength, libName, libNameLength)) { - //the line does not contain the library name + //the line does not contain the library name continue; } @@ -346,18 +347,18 @@ std::string CameraWrapperConnector::getPathLibFolder() fclose(file); return pathBegin; - } - fclose(file); - LOGE("Could not find library path"); + } + fclose(file); + LOGE("Could not find library path"); } else { - LOGE("Could not read /proc/self/smaps"); + LOGE("Could not read /proc/self/smaps"); } } else { - LOGE("Could not get library name and base address"); + LOGE("Could not get library name and base address"); } return string(); diff --git a/modules/contrib/src/chamfermatching.cpp b/modules/contrib/src/chamfermatching.cpp index 052189e..d33b243 100644 --- a/modules/contrib/src/chamfermatching.cpp +++ b/modules/contrib/src/chamfermatching.cpp @@ -767,8 +767,8 @@ void ChamferMatcher::Matching::findContourOrientations(const template_coords_t& } // get the middle two angles - nth_element(angles.begin(), angles.begin()+M-1, angles.end()); - nth_element(angles.begin()+M-1, angles.begin()+M, angles.end()); + std::nth_element(angles.begin(), angles.begin()+M-1, angles.end()); + std::nth_element(angles.begin()+M-1, angles.begin()+M, angles.end()); // sort(angles.begin(), angles.end()); // average them to compute tangent diff --git a/modules/contrib/src/spinimages.cpp b/modules/contrib/src/spinimages.cpp index 46b22c8..21cbc8b 100644 --- a/modules/contrib/src/spinimages.cpp +++ b/modules/contrib/src/spinimages.cpp @@ -85,7 +85,7 @@ namespace }; size_t colors_mum = sizeof(colors)/sizeof(colors[0]); -#if defined __cplusplus && __cplusplus > 199711L +#if (defined __cplusplus && __cplusplus > 199711L) || defined _STLPORT_MAJOR #else template void iota(FwIt first, FwIt last, T value) { while(first != last) *first++ = value++; } #endif diff --git a/modules/core/include/opencv2/core/core.hpp b/modules/core/include/opencv2/core/core.hpp index 0454cf4..8cf8f28 100644 --- a/modules/core/include/opencv2/core/core.hpp +++ b/modules/core/include/opencv2/core/core.hpp @@ -4655,7 +4655,7 @@ class CV_EXPORTS CommandLineParser template static _Tp getData(const std::string& str) { - _Tp res; + _Tp res = _Tp(); std::stringstream s1(str); s1 >> res; return res; diff --git a/modules/core/include/opencv2/core/operations.hpp b/modules/core/include/opencv2/core/operations.hpp index a903174..fc40f57 100644 --- a/modules/core/include/opencv2/core/operations.hpp +++ b/modules/core/include/opencv2/core/operations.hpp @@ -65,7 +65,8 @@ #elif __GNUC__*10 + __GNUC_MINOR__ >= 42 #if !(defined WIN32 || defined _WIN32) && (defined __i486__ || defined __i586__ || \ - defined __i686__ || defined __MMX__ || defined __SSE__ || defined __ppc__) + defined __i686__ || defined __MMX__ || defined __SSE__ || defined __ppc__) || \ + (defined __GNUC__ && defined _STLPORT_MAJOR) #define CV_XADD __sync_fetch_and_add #else #include diff --git a/modules/features2d/src/keypoint.cpp b/modules/features2d/src/keypoint.cpp index 922a8e5..9b85fd3 100644 --- a/modules/features2d/src/keypoint.cpp +++ b/modules/features2d/src/keypoint.cpp @@ -232,7 +232,7 @@ void KeyPointsFilter::runByImageBorder( vector& keypoints, Size imageS if (imageSize.height <= borderSize * 2 || imageSize.width <= borderSize * 2) keypoints.clear(); else - keypoints.erase( remove_if(keypoints.begin(), keypoints.end(), + keypoints.erase( std::remove_if(keypoints.begin(), keypoints.end(), RoiPredicate(Rect(Point(borderSize, borderSize), Point(imageSize.width - borderSize, imageSize.height - borderSize)))), keypoints.end() ); @@ -259,7 +259,7 @@ void KeyPointsFilter::runByKeypointSize( vector& keypoints, float minS CV_Assert( maxSize >= 0); CV_Assert( minSize <= maxSize ); - keypoints.erase( remove_if(keypoints.begin(), keypoints.end(), SizePredicate(minSize, maxSize)), + keypoints.erase( std::remove_if(keypoints.begin(), keypoints.end(), SizePredicate(minSize, maxSize)), keypoints.end() ); } @@ -282,7 +282,7 @@ void KeyPointsFilter::runByPixelsMask( vector& keypoints, const Mat& m if( mask.empty() ) return; - keypoints.erase(remove_if(keypoints.begin(), keypoints.end(), MaskPredicate(mask)), keypoints.end()); + keypoints.erase(std::remove_if(keypoints.begin(), keypoints.end(), MaskPredicate(mask)), keypoints.end()); } struct KeyPoint_LessThan diff --git a/modules/features2d/src/matchers.cpp b/modules/features2d/src/matchers.cpp index 091feaa..40612f8 100644 --- a/modules/features2d/src/matchers.cpp +++ b/modules/features2d/src/matchers.cpp @@ -77,7 +77,7 @@ DescriptorMatcher::DescriptorCollection::DescriptorCollection() DescriptorMatcher::DescriptorCollection::DescriptorCollection( const DescriptorCollection& collection ) { mergedDescriptors = collection.mergedDescriptors.clone(); - copy( collection.startIdxs.begin(), collection.startIdxs.begin(), startIdxs.begin() ); + std::copy( collection.startIdxs.begin(), collection.startIdxs.begin(), startIdxs.begin() ); } DescriptorMatcher::DescriptorCollection::~DescriptorCollection() @@ -807,9 +807,9 @@ GenericDescriptorMatcher::KeyPointCollection::KeyPointCollection( const KeyPoint keypoints.resize( collection.keypoints.size() ); for( size_t i = 0; i < keypoints.size(); i++ ) - copy( collection.keypoints[i].begin(), collection.keypoints[i].end(), keypoints[i].begin() ); + std::copy( collection.keypoints[i].begin(), collection.keypoints[i].end(), keypoints[i].begin() ); - copy( collection.startIndices.begin(), collection.startIndices.end(), startIndices.begin() ); + std::copy( collection.startIndices.begin(), collection.startIndices.end(), startIndices.begin() ); } void GenericDescriptorMatcher::KeyPointCollection::add( const vector& _images, diff --git a/modules/features2d/src/precomp.hpp b/modules/features2d/src/precomp.hpp index c1e3ace..cbc1eb6 100644 --- a/modules/features2d/src/precomp.hpp +++ b/modules/features2d/src/precomp.hpp @@ -52,6 +52,8 @@ #include "opencv2/imgproc/imgproc_c.h" #include "opencv2/core/internal.hpp" +#include + #ifdef HAVE_TEGRA_OPTIMIZATION #include "opencv2/features2d/features2d_tegra.hpp" #endif diff --git a/modules/stitching/src/autocalib.cpp b/modules/stitching/src/autocalib.cpp index a07ec9e..0314b27 100644 --- a/modules/stitching/src/autocalib.cpp +++ b/modules/stitching/src/autocalib.cpp @@ -122,7 +122,7 @@ void estimateFocal(const vector &features, const vector(focals[focals.size() / 2]); else diff --git a/modules/ts/include/opencv2/ts/ts_gtest.h b/modules/ts/include/opencv2/ts/ts_gtest.h index 585650f..f260591 100644 --- a/modules/ts/include/opencv2/ts/ts_gtest.h +++ b/modules/ts/include/opencv2/ts/ts_gtest.h @@ -564,7 +564,7 @@ # define GTEST_HAS_RTTI 0 # else # define GTEST_HAS_RTTI 1 -# endif // GTEST_OS_LINUX_ANDROID && __STLPORT_MAJOR && !__EXCEPTIONS +# endif // GTEST_OS_LINUX_ANDROID && _STLPORT_MAJOR && !__EXCEPTIONS # else # define GTEST_HAS_RTTI 0 # endif // __GXX_RTTI @@ -650,8 +650,11 @@ // support TR1 tuple. libc++ only provides std::tuple, in C++11 mode, // and it can be used with some compilers that define __GNUC__. # if (defined(__GNUC__) && !defined(__CUDACC__) && (GTEST_GCC_VER_ >= 40000) \ - && !GTEST_OS_QNX && !defined(_LIBCPP_VERSION)) || _MSC_VER >= 1600 + && !GTEST_OS_QNX && !defined(_LIBCPP_VERSION)) && !defined(_STLPORT_MAJOR) \ + || (defined(_MSC_VER) && _MSC_VER >= 1600) # define GTEST_ENV_HAS_TR1_TUPLE_ 1 +# else +# define GTEST_ENV_HAS_TR1_TUPLE_ 0 # endif // C++11 specifies that provides std::tuple. Use that if gtest is used @@ -659,7 +662,7 @@ // can build with clang but need to use gcc4.2's libstdc++). # if GTEST_LANG_CXX11 && (!defined(__GLIBCXX__) || __GLIBCXX__ > 20110325) # define GTEST_ENV_HAS_STD_TUPLE_ 1 -#else +# else # define GTEST_ENV_HAS_STD_TUPLE_ 0 # endif @@ -667,6 +670,8 @@ # define GTEST_USE_OWN_TR1_TUPLE 0 # else # define GTEST_USE_OWN_TR1_TUPLE 1 +# undef GTEST_HAS_TR1_TUPLE +# define GTEST_HAS_TR1_TUPLE 1 # endif #endif // GTEST_USE_OWN_TR1_TUPLE diff --git a/modules/videostab/src/inpainting.cpp b/modules/videostab/src/inpainting.cpp index 1a81c41..4377c00 100644 --- a/modules/videostab/src/inpainting.cpp +++ b/modules/videostab/src/inpainting.cpp @@ -172,7 +172,7 @@ void ConsistentMosaicInpainter::inpaint(int idx, Mat &frame, Mat &mask) if (var < stdevThresh_ * stdevThresh_) { - sort(pixels.begin(), pixels.begin() + n); + std::sort(pixels.begin(), pixels.begin() + n); int nh = (n-1)/2; int c1 = pixels[nh].color.x; int c2 = pixels[nh].color.y; diff --git a/samples/c/facedetect.cpp b/samples/c/facedetect.cpp index 60b3a57..a7d7f4a 100644 --- a/samples/c/facedetect.cpp +++ b/samples/c/facedetect.cpp @@ -2,6 +2,7 @@ #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" +#include #include #include #include diff --git a/samples/cpp/bagofwords_classification.cpp b/samples/cpp/bagofwords_classification.cpp index 30cc70b..e24a770 100644 --- a/samples/cpp/bagofwords_classification.cpp +++ b/samples/cpp/bagofwords_classification.cpp @@ -1453,7 +1453,7 @@ void VocData::readClassifierGroundTruth(const string& filename, vector& string line; string image; - int obj_present; + int obj_present = 0; while (!gtfile.eof()) { std::getline(gtfile,line); @@ -1826,7 +1826,7 @@ void VocData::readFileToString(const string filename, string& file_contents) int VocData::stringToInteger(const string input_str) { - int result; + int result = 0; stringstream ss(input_str); if ((ss >> result).fail()) diff --git a/samples/cpp/calibration.cpp b/samples/cpp/calibration.cpp index 826e549..f4ff810 100644 --- a/samples/cpp/calibration.cpp +++ b/samples/cpp/calibration.cpp @@ -2,6 +2,8 @@ #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/calib3d/calib3d.hpp" #include "opencv2/highgui/highgui.hpp" + +#include #include #include #include diff --git a/samples/cpp/point_cloud.cpp b/samples/cpp/point_cloud.cpp index 28e9173..2780df3 100644 --- a/samples/cpp/point_cloud.cpp +++ b/samples/cpp/point_cloud.cpp @@ -1,7 +1,9 @@ +#include #include #include #include #include + #include "opencv2/core/core.hpp" #include "opencv2/core/opengl_interop.hpp" #include "opencv2/highgui/highgui.hpp" diff --git a/samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp b/samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp index defc23f..49aca42 100644 --- a/samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp +++ b/samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp @@ -45,11 +45,11 @@ int main( int argc, char* argv[]) return -1; } - int divideWith; // convert our input string to number - C++ style + int divideWith = 0; // convert our input string to number - C++ style stringstream s; s << argv[2]; s >> divideWith; - if (!s) + if (!s || !divideWith) { cout << "Invalid number entered for dividing. " << endl; return -1; diff --git a/samples/cpp/videostab.cpp b/samples/cpp/videostab.cpp index 6a6ed1c..bd4e853 100644 --- a/samples/cpp/videostab.cpp +++ b/samples/cpp/videostab.cpp @@ -32,7 +32,7 @@ public: ifstream f(path.c_str()); if (!f.is_open()) throw runtime_error("can't open motions file: " + path); - int size; f >> size; + int size = 0; f >> size; motions_.resize(size); for (int i = 0; i < size; ++i) {