2

我试图让我的控制台程序在我们的 windows xp 实验室计算机上运行。我将 Visual Studio 设置为使用 v110_xp 平台工具集,并确保 Linker\System\Minimum Required Version 为 5.01,从转储中可以清楚地看出它最终为:

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
             14C machine (x86)
               5 number of sections
        51DBD863 time date stamp Tue Jul 09 11:31:15 2013
               0 file pointer to symbol table
               0 number of symbols
              E0 size of optional header
             102 characteristics
                   Executable
                   32 bit word machine

OPTIONAL HEADER VALUES
             10B magic # (PE32)
           11.00 linker version
            6600 size of code
            4600 size of initialized data
               0 size of uninitialized data
            69D7 entry point (004069D7) _mainCRTStartup
            1000 base of code
            8000 base of data
          400000 image base (00400000 to 0040DFFF)
            1000 section alignment
             200 file alignment
            5.01 operating system version
            0.00 image version
            5.01 subsystem version
               0 Win32 version
            E000 size of image
             400 size of headers
               0 checksum
               3 subsystem (Windows CUI)
            8140 DLL characteristics
                   Dynamic base
                   NX compatible
                   Terminal Server Aware
          100000 size of stack reserve
            1000 size of stack commit
          100000 size of heap reserve
            1000 size of heap commit
               0 loader flags
              10 number of directories
               0 [       0] RVA [size] of Export Directory
            96C0 [      50] RVA [size] of Import Directory
            C000 [     1E0] RVA [size] of Resource Directory
               0 [       0] RVA [size] of Exception Directory
               0 [       0] RVA [size] of Certificates Directory
            D000 [     864] RVA [size] of Base Relocation Directory
            8260 [      38] RVA [size] of Debug Directory
               0 [       0] RVA [size] of Architecture Directory
               0 [       0] RVA [size] of Global Pointer Directory
               0 [       0] RVA [size] of Thread Storage Directory
            8778 [      40] RVA [size] of Load Configuration Directory
               0 [       0] RVA [size] of Bound Import Directory
            8000 [     224] RVA [size] of Import Address Table Directory
               0 [       0] RVA [size] of Delay Import Directory
               0 [       0] RVA [size] of COM Descriptor Directory
               0 [       0] RVA [size] of Reserved Directory


SECTION HEADER #1
   .text name
    6525 virtual size
    1000 virtual address (00401000 to 00407524)
    6600 size of raw data
     400 file pointer to raw data (00000400 to 000069FF)
       0 file pointer to relocation table
       0 file pointer to line numbers
       0 number of relocations
       0 number of line numbers
60000020 flags
         Code
         Execute Read

SECTION HEADER #2
  .rdata name
    2B5C virtual size
    8000 virtual address (00408000 to 0040AB5B)
    2C00 size of raw data
    6A00 file pointer to raw data (00006A00 to 000095FF)
       0 file pointer to relocation table
       0 file pointer to line numbers
       0 number of relocations
       0 number of line numbers
40000040 flags
         Initialized Data
         Read Only

  Debug Directories

        Time Type       Size      RVA  Pointer
    -------- ------ -------- -------- --------
    51DBD863 cv           55 000087C0     71C0    Format: RSDS, {9BD50A2E-49E1-4
72A-8D90-4383C3D528BE}, 5, C:\Dropbox\Uni\Bachelor\AD9914\c++\AD9914\Release\AD9
914.pdb
    51DBD863 feat         10 00008818     7218    Counts: Pre-VC++ 11.00=0, C/C+
+=29, /GS=29, /sdl=0

SECTION HEADER #3
   .data name
     7E8 virtual size
    B000 virtual address (0040B000 to 0040B7E7)
     600 size of raw data
    9600 file pointer to raw data (00009600 to 00009BFF)
       0 file pointer to relocation table
       0 file pointer to line numbers
       0 number of relocations
       0 number of line numbers
C0000040 flags
         Initialized Data
         Read Write

SECTION HEADER #4
   .rsrc name
     1E0 virtual size
    C000 virtual address (0040C000 to 0040C1DF)
     200 size of raw data
    9C00 file pointer to raw data (00009C00 to 00009DFF)
       0 file pointer to relocation table
       0 file pointer to line numbers
       0 number of relocations
       0 number of line numbers
40000040 flags
         Initialized Data
         Read Only

SECTION HEADER #5
  .reloc name
     E5E virtual size
    D000 virtual address (0040D000 to 0040DE5D)
    1000 size of raw data
    9E00 file pointer to raw data (00009E00 to 0000ADFF)
       0 file pointer to relocation table
       0 file pointer to line numbers
       0 number of relocations
       0 number of line numbers
42000040 flags
         Initialized Data
         Discardable
         Read Only

  Summary

        1000 .data
        3000 .rdata
        1000 .reloc
        1000 .rsrc
        7000 .text

我仍然收到缺少 MSVCP110.dll 的错误。这可以通过我的程序分发“x86\Microsoft.VC110.CRT”dll 来解决,但是有没有人有更优雅的解决方案来解决这个问题?

最佳论文

4

1 回答 1

1

您需要提供可再分发的 DLL 包以供用户安装,或者分发与程序一起使用的 DLL,并将它们安装在.exe.

于 2013-07-09T10:49:34.957 回答