- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello all,
Compilation with IVF v15.0 & v16.0 (ia32) using the following command fails.
ifort /debug testprog.f90
The following error message is produced:
LINK : fatal error LNK1207: incompatible PDB format in 'c:\David\test\testprog.pdb'; delete and rebuild.
It would appear that with debug enabled the following intermediate files are produced: testprog.pdb, testprog.ilk. Furthermore a file vc140.pdb is created. These are not produced when when debug is disabled.
(1) What is the purpose of these files?
(2) Are they required to run the executable? (It would appear from my experiments that they are not needed but a definitive view would be appreciated.)
(3) If these files are not needed is there a switch to automatically delete them once compilation / linking is complete?
(4) My experimentation suggests that if you compile first with, say ifort v11.1, and then with ifort v16.0 then the LNK1207 is produced. It is not clear why the linker is trying to access the previously created *.pdb file or why it is not automatically clobbered by the linker.
Note that testprog.f90 is the following minimal program:
PROGRAM TESTPROG
END PROGRAM TESTPROG
Many thanks,
David.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The PDB is the "Program DataBase" which is where debug symbols are stored. It is used only for debugging. The .ilk file is also not used for execution.
The way VS works is that it build up a .pdb based on the individual compiled source's PDB files, and the combined one is VS version specific.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page