From 8f1508e0989deaa9bce8af637788fef10886ff98 Mon Sep 17 00:00:00 2001 From: Li Zhang Date: Wed, 29 Jun 2022 22:01:51 +0800 Subject: [PATCH] [Fix] fix clang build (#677) * fix clang build * fix ndk build * fix ndk build * switch to `std::filesystem` for clang-7 and later --- csrc/mmdeploy/codebase/mmocr/contour_expand.cpp | 2 +- csrc/mmdeploy/codebase/mmocr/cpu/dbnet.cpp | 1 - csrc/mmdeploy/codebase/mmocr/cuda/dbnet.cpp | 1 - csrc/mmdeploy/codebase/mmocr/panet.cpp | 2 +- csrc/mmdeploy/codebase/mmocr/pixel_group.cpp | 2 +- csrc/mmdeploy/codebase/mmocr/psenet.cpp | 2 +- csrc/mmdeploy/codebase/mmocr/warp.cpp | 5 +++-- csrc/mmdeploy/codebase/mmpose/keypoints_from_heatmap.cpp | 1 - csrc/mmdeploy/codebase/mmpose/keypoints_from_regression.cpp | 1 - .../mmdeploy/codebase/mmrotate/oriented_object_detection.cpp | 1 - csrc/mmdeploy/core/utils/filesystem.h | 3 +-- csrc/mmdeploy/execution/schedulers/schedulers.cpp | 2 +- csrc/mmdeploy/utils/opencv/opencv_utils.cpp | 1 + csrc/mmdeploy/utils/opencv/opencv_utils.h | 2 +- tests/test_csrc/preprocess/test_compose.cpp | 1 + tests/test_csrc/preprocess/test_crop.cpp | 1 + tests/test_csrc/preprocess/test_default_format_bundle.cpp | 1 + tests/test_csrc/preprocess/test_image2tensor.cpp | 1 + tests/test_csrc/preprocess/test_load.cpp | 2 ++ tests/test_csrc/preprocess/test_normalize.cpp | 2 ++ tests/test_csrc/preprocess/test_pad.cpp | 2 ++ tests/test_csrc/preprocess/test_resize.cpp | 2 ++ 22 files changed, 23 insertions(+), 15 deletions(-) diff --git a/csrc/mmdeploy/codebase/mmocr/contour_expand.cpp b/csrc/mmdeploy/codebase/mmocr/contour_expand.cpp index 4c9fe1e02a..4199a964cb 100644 --- a/csrc/mmdeploy/codebase/mmocr/contour_expand.cpp +++ b/csrc/mmdeploy/codebase/mmocr/contour_expand.cpp @@ -9,7 +9,7 @@ #include #include "mmdeploy/core/tensor.h" -#include "opencv2/opencv.hpp" +#include "opencv2/imgproc/imgproc.hpp" namespace mmdeploy::mmocr { diff --git a/csrc/mmdeploy/codebase/mmocr/cpu/dbnet.cpp b/csrc/mmdeploy/codebase/mmocr/cpu/dbnet.cpp index 8eaec861ab..a963c3908c 100644 --- a/csrc/mmdeploy/codebase/mmocr/cpu/dbnet.cpp +++ b/csrc/mmdeploy/codebase/mmocr/cpu/dbnet.cpp @@ -3,7 +3,6 @@ #include "mmdeploy/codebase/mmocr/dbnet.h" #include "mmdeploy/core/utils/device_utils.h" -#include "opencv2/imgcodecs.hpp" #include "opencv2/imgproc.hpp" namespace mmdeploy::mmocr { diff --git a/csrc/mmdeploy/codebase/mmocr/cuda/dbnet.cpp b/csrc/mmdeploy/codebase/mmocr/cuda/dbnet.cpp index a96c5de530..c91c760f9d 100644 --- a/csrc/mmdeploy/codebase/mmocr/cuda/dbnet.cpp +++ b/csrc/mmdeploy/codebase/mmocr/cuda/dbnet.cpp @@ -6,7 +6,6 @@ #include "mmdeploy/codebase/mmocr/cuda/utils.h" #include "mmdeploy/core/utils/device_utils.h" #include "mmdeploy/device/cuda/cuda_device.h" -#include "opencv2/imgcodecs.hpp" #include "opencv2/imgproc.hpp" namespace mmdeploy::mmocr { diff --git a/csrc/mmdeploy/codebase/mmocr/panet.cpp b/csrc/mmdeploy/codebase/mmocr/panet.cpp index 042d088be2..f5cdca3399 100644 --- a/csrc/mmdeploy/codebase/mmocr/panet.cpp +++ b/csrc/mmdeploy/codebase/mmocr/panet.cpp @@ -3,13 +3,13 @@ #include "mmdeploy/codebase/mmocr/panet.h" #include -#include #include "mmdeploy/codebase/mmocr/mmocr.h" #include "mmdeploy/core/device.h" #include "mmdeploy/core/registry.h" #include "mmdeploy/core/serialization.h" #include "mmdeploy/core/utils/device_utils.h" +#include "opencv2/imgproc/imgproc.hpp" namespace mmdeploy { diff --git a/csrc/mmdeploy/codebase/mmocr/pixel_group.cpp b/csrc/mmdeploy/codebase/mmocr/pixel_group.cpp index 36239de210..def430ad5b 100644 --- a/csrc/mmdeploy/codebase/mmocr/pixel_group.cpp +++ b/csrc/mmdeploy/codebase/mmocr/pixel_group.cpp @@ -8,7 +8,7 @@ #include #include "mmdeploy/core/tensor.h" -#include "opencv2/opencv.hpp" +#include "opencv2/imgproc/imgproc.hpp" namespace mmdeploy::mmocr { diff --git a/csrc/mmdeploy/codebase/mmocr/psenet.cpp b/csrc/mmdeploy/codebase/mmocr/psenet.cpp index 19ab318178..302bfa1e34 100644 --- a/csrc/mmdeploy/codebase/mmocr/psenet.cpp +++ b/csrc/mmdeploy/codebase/mmocr/psenet.cpp @@ -3,13 +3,13 @@ #include "mmdeploy/codebase/mmocr/psenet.h" #include -#include #include "mmdeploy/codebase/mmocr/mmocr.h" #include "mmdeploy/core/device.h" #include "mmdeploy/core/registry.h" #include "mmdeploy/core/serialization.h" #include "mmdeploy/core/utils/device_utils.h" +#include "opencv2/imgproc/imgproc.hpp" namespace mmdeploy { namespace mmocr { diff --git a/csrc/mmdeploy/codebase/mmocr/warp.cpp b/csrc/mmdeploy/codebase/mmocr/warp.cpp index a8107a2448..6f231662f3 100644 --- a/csrc/mmdeploy/codebase/mmocr/warp.cpp +++ b/csrc/mmdeploy/codebase/mmocr/warp.cpp @@ -8,6 +8,7 @@ #include "mmdeploy/core/utils/formatter.h" #include "mmdeploy/core/value.h" #include "mmdeploy/experimental/module_adapter.h" +#include "opencv2/imgproc/imgproc.hpp" #include "opencv_utils.h" namespace mmdeploy { @@ -40,9 +41,9 @@ class WarpBoxes { auto w = static_cast(std::max(e0, e1)); auto h = static_cast(std::min(e0, e1)); std::vector dst{{0, 0}, {w, 0}, {w, h}, {0, h}}; - auto m = getAffineTransform(src.data(), dst.data()); + auto m = cv::getAffineTransform(src.data(), dst.data()); cv::Mat warped; - warpAffine(img, warped, m, {static_cast(w), static_cast(h)}); + cv::warpAffine(img, warped, m, {static_cast(w), static_cast(h)}); return warped; } diff --git a/csrc/mmdeploy/codebase/mmpose/keypoints_from_heatmap.cpp b/csrc/mmdeploy/codebase/mmpose/keypoints_from_heatmap.cpp index 7477836e1d..81df42adb6 100644 --- a/csrc/mmdeploy/codebase/mmpose/keypoints_from_heatmap.cpp +++ b/csrc/mmdeploy/codebase/mmpose/keypoints_from_heatmap.cpp @@ -1,7 +1,6 @@ // Copyright (c) OpenMMLab. All rights reserved. #include -#include #include #include "mmdeploy/core/device.h" diff --git a/csrc/mmdeploy/codebase/mmpose/keypoints_from_regression.cpp b/csrc/mmdeploy/codebase/mmpose/keypoints_from_regression.cpp index 58fd4c972b..6104be047a 100644 --- a/csrc/mmdeploy/codebase/mmpose/keypoints_from_regression.cpp +++ b/csrc/mmdeploy/codebase/mmpose/keypoints_from_regression.cpp @@ -1,6 +1,5 @@ // Copyright (c) OpenMMLab. All rights reserved. -#include #include #include "mmdeploy/core/device.h" diff --git a/csrc/mmdeploy/codebase/mmrotate/oriented_object_detection.cpp b/csrc/mmdeploy/codebase/mmrotate/oriented_object_detection.cpp index 45bfd46b6a..161d91a088 100644 --- a/csrc/mmdeploy/codebase/mmrotate/oriented_object_detection.cpp +++ b/csrc/mmdeploy/codebase/mmrotate/oriented_object_detection.cpp @@ -1,6 +1,5 @@ // Copyright (c) OpenMMLab. All rights reserved. -#include #include #include "mmdeploy/core/device.h" diff --git a/csrc/mmdeploy/core/utils/filesystem.h b/csrc/mmdeploy/core/utils/filesystem.h index 7aca6a8d8e..3f2a3286ce 100644 --- a/csrc/mmdeploy/core/utils/filesystem.h +++ b/csrc/mmdeploy/core/utils/filesystem.h @@ -3,8 +3,7 @@ #ifndef MMDEPLOY_CSRC_CORE_UTILS_FILESYSTEM_H_ #define MMDEPLOY_CSRC_CORE_UTILS_FILESYSTEM_H_ -// TODO: what about clang? -#if __GNUC__ >= 8 || _MSC_VER +#if __GNUC__ >= 8 || _MSC_VER || __clang_major__ >= 7 #include namespace fs = std::filesystem; #else diff --git a/csrc/mmdeploy/execution/schedulers/schedulers.cpp b/csrc/mmdeploy/execution/schedulers/schedulers.cpp index 5773b9bd3b..df0135eeb7 100644 --- a/csrc/mmdeploy/execution/schedulers/schedulers.cpp +++ b/csrc/mmdeploy/execution/schedulers/schedulers.cpp @@ -30,7 +30,7 @@ Scheduler CreateFromContext(std::unique_ptr context) { using EraseType = _type_erased::TypeErasedSchedulerImpl; auto sched = new EraseType(context->GetScheduler()); return Scheduler{std::shared_ptr( - sched, [context = std::move(context)](EraseType* p) { delete p; })}; + sched, [context = std::shared_ptr(std::move(context))](EraseType* p) { delete p; })}; } } // namespace diff --git a/csrc/mmdeploy/utils/opencv/opencv_utils.cpp b/csrc/mmdeploy/utils/opencv/opencv_utils.cpp index f04086b5d2..7f0501ffb2 100644 --- a/csrc/mmdeploy/utils/opencv/opencv_utils.cpp +++ b/csrc/mmdeploy/utils/opencv/opencv_utils.cpp @@ -6,6 +6,7 @@ #include "mmdeploy/core/logger.h" #include "mmdeploy/core/utils/formatter.h" +#include "opencv2/imgproc/imgproc.hpp" namespace mmdeploy { namespace cpu { diff --git a/csrc/mmdeploy/utils/opencv/opencv_utils.h b/csrc/mmdeploy/utils/opencv/opencv_utils.h index ebd398ce7c..f1bf6b3d58 100644 --- a/csrc/mmdeploy/utils/opencv/opencv_utils.h +++ b/csrc/mmdeploy/utils/opencv/opencv_utils.h @@ -7,7 +7,7 @@ #include "mmdeploy/core/mpl/type_traits.h" #include "mmdeploy/core/serialization.h" #include "mmdeploy/core/tensor.h" -#include "opencv2/opencv.hpp" +#include "opencv2/core/core.hpp" namespace mmdeploy { namespace cpu { diff --git a/tests/test_csrc/preprocess/test_compose.cpp b/tests/test_csrc/preprocess/test_compose.cpp index f2a7994e10..ab3cb5f4ae 100644 --- a/tests/test_csrc/preprocess/test_compose.cpp +++ b/tests/test_csrc/preprocess/test_compose.cpp @@ -11,6 +11,7 @@ #include "mmdeploy/core/mat.h" #include "mmdeploy/core/registry.h" #include "mmdeploy/core/utils/formatter.h" +#include "opencv2/imgcodecs/imgcodecs.hpp" #include "opencv_utils.h" #include "test_resource.h" #include "test_utils.h" diff --git a/tests/test_csrc/preprocess/test_crop.cpp b/tests/test_csrc/preprocess/test_crop.cpp index 4f23e68a96..00609af390 100644 --- a/tests/test_csrc/preprocess/test_crop.cpp +++ b/tests/test_csrc/preprocess/test_crop.cpp @@ -5,6 +5,7 @@ #include "mmdeploy/core/mat.h" #include "mmdeploy/core/utils/device_utils.h" #include "mmdeploy/preprocess/transform/transform.h" +#include "opencv2/imgcodecs/imgcodecs.hpp" #include "opencv_utils.h" #include "test_resource.h" #include "test_utils.h" diff --git a/tests/test_csrc/preprocess/test_default_format_bundle.cpp b/tests/test_csrc/preprocess/test_default_format_bundle.cpp index b8f744a21e..a1fea516fa 100644 --- a/tests/test_csrc/preprocess/test_default_format_bundle.cpp +++ b/tests/test_csrc/preprocess/test_default_format_bundle.cpp @@ -3,6 +3,7 @@ #include "mmdeploy/core/tensor.h" #include "mmdeploy/core/utils/device_utils.h" #include "mmdeploy/preprocess/transform/transform.h" +#include "opencv2/imgcodecs/imgcodecs.hpp" #include "opencv_utils.h" #include "test_resource.h" #include "test_utils.h" diff --git a/tests/test_csrc/preprocess/test_image2tensor.cpp b/tests/test_csrc/preprocess/test_image2tensor.cpp index 199c2bc669..024b0e2add 100644 --- a/tests/test_csrc/preprocess/test_image2tensor.cpp +++ b/tests/test_csrc/preprocess/test_image2tensor.cpp @@ -3,6 +3,7 @@ #include "mmdeploy/core/tensor.h" #include "mmdeploy/core/utils/device_utils.h" #include "mmdeploy/preprocess/transform/transform.h" +#include "opencv2/imgcodecs/imgcodecs.hpp" #include "opencv_utils.h" #include "test_resource.h" #include "test_utils.h" diff --git a/tests/test_csrc/preprocess/test_load.cpp b/tests/test_csrc/preprocess/test_load.cpp index bbb811aeda..5e99f7a6ae 100644 --- a/tests/test_csrc/preprocess/test_load.cpp +++ b/tests/test_csrc/preprocess/test_load.cpp @@ -5,6 +5,8 @@ #include "mmdeploy/core/tensor.h" #include "mmdeploy/core/utils/device_utils.h" #include "mmdeploy/preprocess/transform/transform.h" +#include "opencv2/imgcodecs/imgcodecs.hpp" +#include "opencv2/imgproc/imgproc.hpp" #include "opencv_utils.h" #include "test_resource.h" #include "test_utils.h" diff --git a/tests/test_csrc/preprocess/test_normalize.cpp b/tests/test_csrc/preprocess/test_normalize.cpp index 2b976ed41e..7f4270a681 100644 --- a/tests/test_csrc/preprocess/test_normalize.cpp +++ b/tests/test_csrc/preprocess/test_normalize.cpp @@ -4,6 +4,8 @@ #include "mmdeploy/core/mat.h" #include "mmdeploy/core/utils/device_utils.h" #include "mmdeploy/preprocess/transform/transform.h" +#include "opencv2/imgcodecs/imgcodecs.hpp" +#include "opencv2/imgproc/imgproc.hpp" #include "opencv_utils.h" #include "test_resource.h" #include "test_utils.h" diff --git a/tests/test_csrc/preprocess/test_pad.cpp b/tests/test_csrc/preprocess/test_pad.cpp index 77828b6251..cc6f425ec4 100644 --- a/tests/test_csrc/preprocess/test_pad.cpp +++ b/tests/test_csrc/preprocess/test_pad.cpp @@ -4,6 +4,8 @@ #include "mmdeploy/core/mat.h" #include "mmdeploy/core/utils/device_utils.h" #include "mmdeploy/preprocess/transform/transform.h" +#include "opencv2/imgcodecs/imgcodecs.hpp" +#include "opencv2/imgproc/imgproc.hpp" #include "opencv_utils.h" #include "test_resource.h" #include "test_utils.h" diff --git a/tests/test_csrc/preprocess/test_resize.cpp b/tests/test_csrc/preprocess/test_resize.cpp index 8b7bb6bf80..0935e3d56f 100644 --- a/tests/test_csrc/preprocess/test_resize.cpp +++ b/tests/test_csrc/preprocess/test_resize.cpp @@ -4,6 +4,8 @@ #include "mmdeploy/core/mat.h" #include "mmdeploy/core/utils/device_utils.h" #include "mmdeploy/preprocess/transform/transform.h" +#include "opencv2/imgcodecs/imgcodecs.hpp" +#include "opencv2/imgproc/imgproc.hpp" #include "opencv_utils.h" #include "test_resource.h" #include "test_utils.h"