Compartilhar via


Aviso do Compilador (nível 3) C4792

função 'function' declarada usando sysimport e referenciada a partir do código nativo; biblioteca de importação necessária para vincular

Uma função nativa que foi importada para o programa com a DllImport foi chamada de uma função não gerenciada. Portanto, você deve vincular à biblioteca de importação da DLL.

Esse aviso não pode ser resolvido no código ou alterando a maneira como você compila. Use o pragma de aviso para desabilitar este aviso.

O seguinte exemplo gera o C4792:

// C4792.cpp
// compile with: /clr /W3
// C4792 expected
using namespace System::Runtime::InteropServices;
[DllImport("msvcrt")]
extern "C" int __cdecl puts(const char *);
int main() {}

// Uncomment the following line to resolve.
// #pragma warning(disable : 4792)
#pragma unmanaged
void func(void){
   puts("test");
}