MPC MP1010 or MP4002 Error, No P-Code in Application (84786)



The information in this article applies to:

  • Microsoft Make P-Code Utility for MS-DOS and Windows 7.0
  • Microsoft Make P-Code Utility for MS-DOS and Windows 8.0

This article was previously published under Q84786

SUMMARY

The MAKE P-CODE utility (MPC) is required to make a p-code executable or a dynamic-link library (DLL) usable. Different messages are displayed if MPC is run on an executable that does not contain p-code, depending on whether the .EXE is targeted for MS-DOS or Microsoft Windows.

When MPC is run on a Windows executable or DLL that does not contain p-code, the following warning is produced:
warning MP4002: file contains no p-code : 'filename'
However, when MPC is run on an MS-DOS executable that does not contain p-code, the following error is produced:
fatal error MP1010: 'filename' is not a segmented executable file

MORE INFORMATION

Windows executables are always segmented. A typical MS-DOS executable is non-segmented. However, compiling an MS-DOS application with /Oq and linking with /PCODE produces a segmented executable. Therefore, MPC expects a segmented executable as input. An MS-DOS executable without p-code is not a segmented executable, hence the MP1010 error.

The final MS-DOS p-code executable produced by MPC is not segmented, even though the non-runnable version produced by the linker is segmented. Therefore, the MP1010 error may also be generated by MPC if it is passed a runnable MS-DOS p-code executable as input.

Modification Type:MajorLast Reviewed:9/30/2003
Keywords:kb16bitonly KB84786