Я делал программу на C ++ с использованием FFT, и она работала нормально, пока я не решил использовать FFTW. После создания библиотек из файлов .def и связывания их с моим проектом, он успешно собирается. Однако когда я пытаюсь запустить приложение, оно говорит мне, что оно не является действительным приложением win32. Запуск 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 DirectorySECTION 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
Разобрался, если у кого-то еще есть похожая проблема:
Я связывал
.exp
файлы, а также.lib
файлы; только связывая.lib
файлы и размещение.dll
файлы в каталоге исправили проблему.
Других решений пока нет …