J'utilise la bibliothèque OpenCV et l'un de ses fichiers d'en-tête, cxoperations.hpp, génère "warning C4793: 'anonymous namespace'::CV_XADD' : function compiled as native"
, si mon projet C++ est compilé avec le support CLR. Je peux empêcher l'avertissement en entourant l'en-tête de OpenCV inclure comme ceci:Comment les gens gèrent-ils l'avertissement C4793: 'some_function': fonction compilée en natif?
#pragma managed(push,off)
#include <cv.h>
#pragma managed(pop)
Mais le projet qui utilise en fait OpenCV n'est pas compilé avec le support CLR, il est bibliothèque statique d'un natif C. Le projet qui prend en charge CLR et génère cet avertissement sans les instructions pragma utilise simplement cette bibliothèque statique. Je suis donc un peu surpris que l'avertissement ait été créé, d'autant plus que toute la bibliothèque statique n'est pas compilée avec le support du CLR, et pourtant c'est seulement cet en-tête qui cause le problème.
Ainsi cette solution me semble sous-optimale. Est-ce la façon dont vous traiteriez cet avertissement, ou pouvez-vous recommander une meilleure pratique?
voudrez peut-être envisager d'ajouter une balise "C++/CLI". –