Я использую библиотеку OpenCV и один из ее файлов заголовков cxoperations.hpp, генерирует "warning C4793: 'anonymous namespace'::CV_XADD' : function compiled as native"
, если мой проект на С++ скомпилирован с поддержкой CLR. Я могу предотвратить предупреждение, окружая заголовок OpenCV, следующим образом:
#pragma managed(push,off)
#include <cv.h>
#pragma managed(pop)
Но проект, который фактически использует OpenCV, не скомпилирован с поддержкой CLR, это родная статическая библиотека С++. Проект, который имеет поддержку CLR и генерирует это предупреждение без инструкций pragma, просто использует эту статическую библиотеку. Поэтому я немного удивлен тем, что предупреждение было создано вообще, особенно учитывая тот факт, что вся статическая библиотека не скомпилирована с поддержкой CLR, и все же это только один заголовок, который вызывает проблему.
Таким образом, это решение кажется мне неоптимальным. Как вы справляетесь с этим предупреждением или можете ли вы рекомендовать лучшую практику?