Export (0) Print
Expand All
Expand Minimize

Compiler Warning (level 3) C4792

function 'function' declared using sysimport and referenced from native code; import library required to link

A native function that was imported into the program with DllImport was called from an unmanaged function. Therefore, you must link to the import library for the DLL.

This warning cannot be resolved in code or by changing the way you compile. Use the warning pragma to disable this warning.

The following sample generates C4792:

// C4792.cpp
// compile with: /clr /W3
#using <mscorlib.dll>
using namespace System::Runtime::InteropServices;
[DllImport("msvcrt")]
extern "C" int __cdecl puts(const char *);
int main() {
}
// uncomment the following line to disable C4792
// #pragma warning(disable : 4792)
#pragma unmanaged
void func(void){
   puts("test");   // C4792
}
Show:
© 2014 Microsoft