2016-06-07 4 views
0

Я пытаюсь использовать OpenCV в существующем проекте, но я получаю сообщение об ошибке:OpenCV/MSVC C4265 (не виртуальный деструктор) ошибка не может быть отключена с помощью командной строки

d:\downloads\opencv\build\include\opencv2\core\core.hpp(4903) : error C4265: 'cv::TLSDataContainer' : class has virtual functions, but destructor is not virtual 
    instances of this class may not be destructed correctly 

Я пытался чтобы отключить сообщение об ошибке, пропустив /wd4265, но это не помогло! Для справки ниже приведена полная командная строка.

[1/2] cl /nologo /c /W4 /WX- /MP /Gm- /Gs /Gy- /fp:precise /Zc:wchar_t- /Gd /TP ...on\cinema 4d r17 dev\plugins\stage\build\nr.hantmade_addons\obj\source\main.obj" FAILED: cl /nologo /c /W4 /WX- /MP /Gm- /Gs /Gy- /fp:precise /Zc:wchar_t- /Gd /TP /wd4062 /wd4100 /wd4127 /wd4131 /wd4201 /wd4210 /wd4242 /wd4244 /wd4245 /wd4305 /wd4310 /wd4324 /wd4355 /wd4365 /wd4389 /wd4505 /wd4512 /wd4611 /wd4706 /wd4718 /wd4740 /wd4748 /wd4996 /FC /errorReport:prompt /vmg /vms /w44263 /we4264 /FS /showIncludes /MT /Ox /Oy- /Oi /Ob2 /Ot /GF /DWIN32 /D__PC /DMAXON_API /DMAXON_TARGET_WINDOWS /DMAXON_TARGET_RELEASE /DMAXON_TARGET_64BIT /D__LEGACY_API "/Ic:\maxon\cinema 4d r17 dev\plugins\stage\source" "/Ic:\maxon\cinema 4d r17 dev\plugins\stage\stage\res" "/Ic:\maxon\cinema 4d r17 dev\plugins\stage\stage\res\description" "/Ic:\maxon\cinema 4d r17 dev\plugins\stage\vendor\hantmade-license\include" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\python\Python.win64.framework\include" "/Ic:\maxon\cinema 4d r17 dev\plugins\stage\vendor\maxon.c4d\fix\python_api" /Id:\downloads\opencv\build\include "/Ic:\maxon\cinema 4d r17 dev\frameworks\cinema.framework\source" "/Ic:\maxon\cinema 4d r17 dev\frameworks\cinema.framework\source\c4d_customgui" "/Ic:\maxon\cinema 4d r17 dev\frameworks\cinema.framework\source\c4d_gv" "/Ic:\maxon\cinema 4d r17 dev\frameworks\cinema.framework\source\c4d_libs" "/Ic:\maxon\cinema 4d r17 dev\frameworks\cinema.framework\source\c4d_misc" "/Ic:\maxon\cinema 4d r17 dev\frameworks\cinema.framework\source\c4d_misc\datastructures" "/Ic:\maxon\cinema 4d r17 dev\frameworks\cinema.framework\source\c4d_misc\memory" "/Ic:\maxon\cinema 4d r17 dev\frameworks\cinema.framework\source\c4d_misc\utilities" "/Ic:\maxon\cinema 4d r17 dev\frameworks\cinema.framework\source\c4d_preview" "/Ic:\maxon\cinema 4d r17 dev\frameworks\cinema.framework\source\c4d_scaling" "/Ic:\maxon\cinema 4d r17 dev\resource\res\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\advanced render\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\alembic\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\archigrass\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\browser\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\c4dplugin\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\ca\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\ca2\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\cineman\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\clothilde\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\collada14\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\collada15\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\compositing\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\dwg\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\dwgobjects\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\dynamics\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\exchanges\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\expressiontag\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\fbx\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\hair\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\houdiniconfig\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\houdiniengine\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\iges\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\io_obj\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\i_skp\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\licenseserver\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\mocca\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\model\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\mograph\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\motioncam\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\motiontracker\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\newman\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\objects\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\okino\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\python\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\relaxuv\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\sculpt\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\sculptbrushes\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\shader\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\sketch\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\sky\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\sla\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\teamrender\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\thinking particles\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\tpoperators\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\walkthrough\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\xpressocore\description" "/Ic:\maxon\cinema 4d r17 dev\resource\modules\xtensions\description" /FIlegacy.h /wd4265 "c:\maxon\cinema 4d r17 dev\plugins\stage\source\main.cpp" /Fo"c:\maxon\cinema 4d r17 dev\plugins\stage\build\nr.hantmade_addons\obj\source\main.obj" 

Он работает, когда я добавляю #pragma warning(disable:4265) перед включением OpenCV! Я не знаю, откуда это происходит. Я бы предпочел отключить это предупреждение в скрипте компиляции, а не в коде.

Использование MSVC 18.00.40418 x64 (vc120) для Windows 10. Любые подсказки приветствуются.

ответ

1

Ничего, я узнал, что SDK поставщика превращает предупреждение в сообщение об ошибке.

// ge_sys_math.h 
#ifdef MAXON_TARGET_WINDOWS 
    #pragma warning(disable:4805) // boolean 
    #pragma warning(error: 4265) // non-virtual destructor of virtual classes 

    #define __TYPES_READY 
#endif 

Поэтому, я думаю, для меня нет другого способа, кроме как отключить предупреждение в коде.