简体   繁体   中英

Executable built with VS2010 is not a valid win32 application; bindump says it's a DLL

I've been making a C++ program involving FFTs, and it worked fine up until I decided to use FFTW. After making the libraries from the .def files and linking them to my project, it builds successfully. When I try to run the application, however, it tells me that it is not a valid win32 application. Running dumpbin on the produced file yields:

(see edit)

Any ideas as to what the problem might be? I'd like it to go back to building as an executable file.

Edit: Full dumpbin:

PE signature found

File Type: DLL

FILE HEADER VALUES
             14C machine (x86)
               7 number of sections
        512E72CE time date stamp Wed Feb 27 14:55:42 2013
               0 file pointer to symbol table
               0 number of symbols
              E0 size of optional header
            2102 characteristics
                   Executable
                   32 bit word machine
                   DLL

OPTIONAL HEADER VALUES
             10B magic # (PE32)
           10.00 linker version
           1C000 size of code
           3A000 size of initialized data
               0 size of uninitialized data
           1229D entry point (1001229D) @ILT+4760(__DllMainCRTStartup@12)
            1000 base of code
            1000 base of data
        10000000 image base (10000000 to 10069FFF)
            1000 section alignment
             200 file alignment
            5.01 operating system version
            0.00 image version
            5.01 subsystem version
               0 Win32 version
           6A000 size of image
             400 size of headers
           59987 checksum
               3 subsystem (Windows CUI)
             140 DLL characteristics
                   Dynamic base
                   NX compatible
          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
           30370 [   19818] RVA [size] of Export Directory
           4B000 [      A0] RVA [size] of Import Directory
           66000 [     1B4] RVA [size] of Resource Directory
               0 [       0] RVA [size] of Exception Directory
               0 [       0] RVA [size] of Certificates Directory
           67000 [    1EC0] RVA [size] of Base Relocation Directory
           2D620 [      1C] 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
               0 [       0] RVA [size] of Load Configuration Directory
               0 [       0] RVA [size] of Bound Import Directory
           4E68C [    35EC] 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
.textbss name
   10000 virtual size
    1000 virtual address (10001000 to 10010FFF)
       0 size of raw data
       0 file pointer to raw data
       0 file pointer to relocation table
       0 file pointer to line numbers
       0 number of relocations
       0 number of line numbers
E00000A0 flags
         Code
         Uninitialized Data
         Execute Read Write

SECTION HEADER #2
   .text name
   1BE65 virtual size
   11000 virtual address (10011000 to 1002CE64)
   1C000 size of raw data
     400 file pointer to raw data (00000400 to 0001C3FF)
       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 #3
  .rdata name
   1CB88 virtual size
   2D000 virtual address (1002D000 to 10049B87)
   1CC00 size of raw data
   1C400 file pointer to raw data (0001C400 to 00038FFF)
       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
    -------- ------ -------- -------- --------
    512E72CE cv           7F 0002EA90    1DE90    Format: RSDS, {CC4D0BC3-853A-4
E8D-97A2-304A29035F04}, 4, C:\......

SECTION HEADER #4
   .data name
     7AC virtual size
   4A000 virtual address (1004A000 to 1004A7AB)
     400 size of raw data
   39000 file pointer to raw data (00039000 to 000393FF)
       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 #5
  .idata name
   1A611 virtual size
   4B000 virtual address (1004B000 to 10065610)
   1A800 size of raw data
   39400 file pointer to raw data (00039400 to 00053BFF)
       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 #6
   .rsrc name
     1B4 virtual size
   66000 virtual address (10066000 to 100661B3)
     200 size of raw data
   53C00 file pointer to raw data (00053C00 to 00053DFF)
       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 #7
  .reloc name
    2593 virtual size
   67000 virtual address (10067000 to 10069592)
    2600 size of raw data
   53E00 file pointer to raw data (00053E00 to 000563FF)
       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
       1B000 .idata
       1D000 .rdata
        3000 .reloc
        1000 .rsrc
       1C000 .text
       10000 .textbss

Figured it out, if anybody else has a similar problem:

I was linking the .exp files as well as the .lib files; only linking the .lib files and placing the .dll files in the directory fixed the problem.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM