Skip to content

Commit 24a497a

Browse files
authored
Merge pull request opencv#26370 from mshabunin:fix-winrt-warnings
WinRT/UWP build: fix some specific warnings
2 parents e4bcd46 + 5210032 commit 24a497a

File tree

7 files changed

+35
-37
lines changed

7 files changed

+35
-37
lines changed

cmake/OpenCVModule.cmake

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -916,16 +916,6 @@ macro(ocv_create_module)
916916
POST_BUILD
917917
COMMAND link.exe /edit /APPCONTAINER:NO $(TargetPath))
918918
endif()
919-
920-
if("${the_module}" STREQUAL "opencv_ts")
921-
# copy required dll files; WinRT apps need these dlls that are usually substituted by Visual Studio
922-
# however they are not on path and need to be placed with executables to run from console w/o APPCONTAINER
923-
add_custom_command(TARGET ${the_module}
924-
POST_BUILD
925-
COMMAND copy /y "\"$(VCInstallDir)redist\\$(PlatformTarget)\\Microsoft.VC$(PlatformToolsetVersion).CRT\\msvcp$(PlatformToolsetVersion).dll\"" "\"${CMAKE_BINARY_DIR}\\bin\\$(Configuration)\\msvcp$(PlatformToolsetVersion)_app.dll\""
926-
COMMAND copy /y "\"$(VCInstallDir)redist\\$(PlatformTarget)\\Microsoft.VC$(PlatformToolsetVersion).CRT\\msvcr$(PlatformToolsetVersion).dll\"" "\"${CMAKE_BINARY_DIR}\\bin\\$(Configuration)\\msvcr$(PlatformToolsetVersion)_app.dll\""
927-
COMMAND copy /y "\"$(VCInstallDir)redist\\$(PlatformTarget)\\Microsoft.VC$(PlatformToolsetVersion).CRT\\vccorlib$(PlatformToolsetVersion).dll\"" "\"${CMAKE_BINARY_DIR}\\bin\\$(Configuration)\\vccorlib$(PlatformToolsetVersion)_app.dll\"")
928-
endif()
929919
endif()
930920
endmacro()
931921

modules/core/src/utils/datafile.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,9 +164,9 @@ bool getBinLocation(std::string& dst)
164164
#ifdef _WIN32
165165
bool getBinLocation(std::wstring& dst)
166166
{
167-
void* addr = (void*)getModuleLocation; // using code address, doesn't work with static linkage!
168167
HMODULE m = 0;
169168
#if _WIN32_WINNT >= 0x0501 && (!defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP))
169+
void* addr = (void*)getModuleLocation; // using code address, doesn't work with static linkage!
170170
::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
171171
reinterpret_cast<LPCTSTR>(addr),
172172
&m);

modules/highgui/src/window_winrt.cpp

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,13 @@
4141
__FILE__, __LINE__ ); \
4242
}
4343

44+
#ifdef CV_ERROR
45+
#undef CV_ERROR
4446
#define CV_ERROR( Code, Msg ) \
4547
{ \
4648
cvError( (Code), cvFuncName, Msg, __FILE__, __LINE__ ); \
4749
};
50+
#endif
4851

4952
/********************************** WinRT Specific API Implementation ******************************************/
5053

@@ -86,6 +89,7 @@ CV_IMPL void cvShowImage(const char* name, const CvArr* arr)
8689

8790
CV_IMPL int cvNamedWindow(const char* name, int flags)
8891
{
92+
CV_UNUSED(flags);
8993
CV_FUNCNAME("cvNamedWindow");
9094

9195
if (!name)
@@ -116,8 +120,6 @@ CV_IMPL int cvCreateTrackbar2(const char* trackbar_name, const char* window_name
116120
{
117121
CV_FUNCNAME("cvCreateTrackbar2");
118122

119-
int pos = 0;
120-
121123
if (!window_name || !trackbar_name)
122124
CV_ERROR(cv::Error::StsNullPtr, "NULL window or trackbar name");
123125

@@ -197,7 +199,7 @@ CV_IMPL int cvGetTrackbarPos(const char* trackbar_name, const char* window_name)
197199
CvTrackbar* trackbar = HighguiBridge::getInstance().findTrackbarByName(trackbar_name, window_name);
198200

199201
if (trackbar)
200-
pos = trackbar->getPosition();
202+
pos = (int)trackbar->getPosition();
201203

202204
return pos;
203205
}
@@ -209,11 +211,11 @@ CV_IMPL int cvWaitKey(int delay)
209211
CV_WINRT_NO_GUI_ERROR("cvWaitKey");
210212

211213
// see https://msdn.microsoft.com/en-us/library/windows/desktop/ms724411(v=vs.85).aspx
212-
int time0 = GetTickCount64();
214+
//int time0 = GetTickCount64();
213215

214216
for (;;)
215217
{
216-
CvWindow* window;
218+
// CvWindow* window;
217219

218220
if (delay <= 0)
219221
{
@@ -224,6 +226,7 @@ CV_IMPL int cvWaitKey(int delay)
224226

225227
CV_IMPL void cvSetMouseCallback(const char* window_name, CvMouseCallback on_mouse, void* param)
226228
{
229+
CV_UNUSED(on_mouse); CV_UNUSED(param);
227230
CV_WINRT_NO_GUI_ERROR("cvSetMouseCallback");
228231

229232
CV_FUNCNAME("cvSetMouseCallback");
@@ -242,11 +245,13 @@ CV_IMPL void cvSetMouseCallback(const char* window_name, CvMouseCallback on_mous
242245

243246
CV_IMPL void cvMoveWindow(const char* name, int x, int y)
244247
{
248+
CV_UNUSED(name); CV_UNUSED(x); CV_UNUSED(y);
245249
CV_WINRT_NO_GUI_ERROR("cvMoveWindow");
246250
}
247251

248252
CV_IMPL void cvResizeWindow(const char* name, int width, int height)
249253
{
254+
CV_UNUSED(name); CV_UNUSED(width); CV_UNUSED(height);
250255
CV_WINRT_NO_GUI_ERROR("cvResizeWindow");
251256
}
252257

@@ -269,10 +274,12 @@ CV_IMPL const char* cvGetWindowName(void*)
269274
}
270275

271276
void cvSetModeWindow_WinRT(const char* name, double prop_value) {
277+
CV_UNUSED(name); CV_UNUSED(prop_value);
272278
CV_WINRT_NO_GUI_ERROR("cvSetModeWindow");
273279
}
274280

275281
double cvGetModeWindow_WinRT(const char* name) {
282+
CV_UNUSED(name);
276283
CV_WINRT_NO_GUI_ERROR("cvGetModeWindow");
277284
return cv::Error::StsNotImplemented;
278285
}

modules/highgui/src/window_winrt_bridge.cpp

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ HighguiBridge& HighguiBridge::getInstance()
6464
return instance;
6565
}
6666

67-
void HighguiBridge::setContainer(Windows::UI::Xaml::Controls::Panel^ container)
67+
void HighguiBridge::setContainer(Windows::UI::Xaml::Controls::Panel^ container_)
6868
{
69-
this->container = container;
69+
this->container = container_;
7070
}
7171

7272
CvWindow* HighguiBridge::findWindowByName(cv::String name)
@@ -190,9 +190,9 @@ void CvTrackbar::setMinPosition(double pos)
190190
slider->Minimum = pos;
191191
}
192192

193-
void CvTrackbar::setSlider(Slider^ slider) {
194-
if (slider)
195-
this->slider = slider;
193+
void CvTrackbar::setSlider(Slider^ slider_) {
194+
if (slider_)
195+
this->slider = slider_;
196196
}
197197

198198
double CvTrackbar::getPosition()
@@ -219,6 +219,7 @@ Slider^ CvTrackbar::getSlider()
219219

220220
CvWindow::CvWindow(cv::String name, int flags) : name(name)
221221
{
222+
CV_UNUSED(flags);
222223
this->page = (Page^)Windows::UI::Xaml::Markup::XamlReader::Load(const_cast<Platform::String^>(markupContent));
223224
this->sliderMap = new std::map<cv::String, CvTrackbar*>();
224225

@@ -246,14 +247,15 @@ CvWindow::CvWindow(cv::String name, int flags) : name(name)
246247

247248
CvWindow::~CvWindow() {}
248249

249-
void CvWindow::createSlider(cv::String name, int* val, int count, CvTrackbarCallback2 on_notify, void* userdata)
250+
void CvWindow::createSlider(cv::String name_, int* val, int count, CvTrackbarCallback2 on_notify, void* userdata)
250251
{
251-
CvTrackbar* trackbar = findTrackbarByName(name);
252+
CV_UNUSED(userdata);
253+
CvTrackbar* trackbar = findTrackbarByName(name_);
252254

253255
// Creating slider if name is new or reusing the existing one
254256
Slider^ slider = !trackbar ? ref new Slider() : trackbar->getSlider();
255257

256-
slider->Header = HighguiBridge::getInstance().convertString(name);
258+
slider->Header = HighguiBridge::getInstance().convertString(name_);
257259

258260
// Making slider the same size as the image control or setting minimal size.
259261
// This is added to cover potential edge cases because:
@@ -282,26 +284,26 @@ void CvWindow::createSlider(cv::String name, int* val, int count, CvTrackbarCall
282284
if (!sliderPanel) return;
283285

284286
// Adding slider to the list for current window
285-
CvTrackbar* trackbar = new CvTrackbar(name, slider, this);
286-
trackbar->callback = on_notify;
287+
CvTrackbar* trackbar_ = new CvTrackbar(name_, slider, this);
288+
trackbar_->callback = on_notify;
287289
slider->ValueChanged +=
288290
ref new Controls::Primitives::RangeBaseValueChangedEventHandler(
289291
[=](Platform::Object^ sender,
290292
Windows::UI::Xaml::Controls::Primitives::RangeBaseValueChangedEventArgs^ e)
291293
{
292294
Slider^ slider = (Slider^)sender;
293-
trackbar->callback(slider->Value, nullptr);
295+
trackbar_->callback((int)slider->Value, nullptr);
294296
});
295-
this->sliderMap->insert(std::pair<cv::String, CvTrackbar*>(name, trackbar));
297+
this->sliderMap->insert(std::pair<cv::String, CvTrackbar*>(name_, trackbar_));
296298

297299
// Adding slider to the window
298300
sliderPanel->Children->Append(slider);
299301
}
300302
}
301303

302-
CvTrackbar* CvWindow::findTrackbarByName(cv::String name)
304+
CvTrackbar* CvWindow::findTrackbarByName(cv::String name_)
303305
{
304-
auto search = sliderMap->find(name);
306+
auto search = sliderMap->find(name_);
305307
if (search != sliderMap->end()) {
306308
return search->second;
307309
}
@@ -342,12 +344,12 @@ Page^ CvWindow::getPage()
342344
}
343345

344346
//TODO: prototype, not in use yet
345-
void CvWindow::createButton(cv::String name)
347+
void CvWindow::createButton(cv::String name_)
346348
{
347349
if (!buttonPanel) return;
348350

349351
Button^ b = ref new Button();
350-
b->Content = HighguiBridge::getInstance().convertString(name);
352+
b->Content = HighguiBridge::getInstance().convertString(name_);
351353
b->Width = 260;
352354
b->Height = 80;
353355
b->Click += ref new Windows::UI::Xaml::RoutedEventHandler(
@@ -361,4 +363,4 @@ void CvWindow::createButton(cv::String name)
361363
buttonPanel->Children->Append(b);
362364
}
363365

364-
// end
366+
// end

modules/highgui/src/window_winrt_bridge.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ class HighguiBridge
113113

114114
// Meyers singleton
115115
HighguiBridge(const HighguiBridge &);
116-
void operator=(HighguiBridge &);
117116
HighguiBridge() {
118117
windowsMap = new std::map<cv::String, CvWindow*>();
119118
};
@@ -232,4 +231,4 @@ class CvWindow
232231

233232
// Default Slider size, fallback solution for unexpected edge cases
234233
static const double sliderDefaultWidth;
235-
};
234+
};

modules/objdetect/src/face_detect.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ Ptr<FaceDetectorYN> FaceDetectorYN::create(const String& framework,
309309
#ifdef HAVE_OPENCV_DNN
310310
return makePtr<FaceDetectorYNImpl>(framework, bufferModel, bufferConfig, input_size, score_threshold, nms_threshold, top_k, backend_id, target_id);
311311
#else
312-
CV_UNUSED(bufferModel); CV_UNUSED(bufferConfig); CV_UNUSED(input_size); CV_UNUSED(score_threshold); CV_UNUSED(nms_threshold); CV_UNUSED(top_k); CV_UNUSED(backend_id); CV_UNUSED(target_id);
312+
CV_UNUSED(framework); CV_UNUSED(bufferModel); CV_UNUSED(bufferConfig); CV_UNUSED(input_size); CV_UNUSED(score_threshold); CV_UNUSED(nms_threshold); CV_UNUSED(top_k); CV_UNUSED(backend_id); CV_UNUSED(target_id);
313313
CV_Error(cv::Error::StsNotImplemented, "cv::FaceDetectorYN requires enabled 'dnn' module.");
314314
#endif
315315
}

modules/objdetect/src/face_recognize.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ Ptr<FaceRecognizerSF> FaceRecognizerSF::create(const String& framework,
210210
#ifdef HAVE_OPENCV_DNN
211211
return makePtr<FaceRecognizerSFImpl>(framework, bufferModel, bufferConfig, backend_id, target_id);
212212
#else
213-
CV_UNUSED(bufferModel); CV_UNUSED(bufferConfig); CV_UNUSED(backend_id); CV_UNUSED(target_id);
213+
CV_UNUSED(framework); CV_UNUSED(bufferModel); CV_UNUSED(bufferConfig); CV_UNUSED(backend_id); CV_UNUSED(target_id);
214214
CV_Error(cv::Error::StsNotImplemented, "cv::FaceRecognizerSF requires enabled 'dnn' module");
215215
#endif
216216
}

0 commit comments

Comments
 (0)