Opened 8 years ago
Last modified 5 years ago
#10922 new Bugs
Fails to link python-extension project when msvc target is used
Reported by: | Owned by: | Vladimir Prus | |
---|---|---|---|
Milestone: | To Be Determined | Component: | build |
Version: | Boost Development Trunk | Severity: | Showstopper |
Keywords: | python-extension build msvc | Cc: |
Description
For python-extension
boost.build project, using target msvc, on link stage the command line is generated incorrectly and the build fails.
Generated command line:
link /NOLOGO /INCREMENTAL:NO /DLL /NOENTRY /DEBUG /MACHINE:X86 /MANIFEST /subsystem:console /out:"bin\msvc-12.0\debug\threading-multi\mytest.pyd" /IMPLIB:"bin\msvc-12.0\debug\threading-multi\mytest.pdb" /LIBPATH:"C:\Program Files (x86)\Python34\libs" @"bin\msvc-12.0\debug\threading-multi\mytest.pyd.rsp"
Error displayed: LINK : fatal error LNK1207: incompatible PDB format in 'D:\Temp\test\bin\msvc-12.0\debug\threading-multi\mytest.pdb'; delete and rebuild
Note the IMPLIB
part referencing the .pdb
file instead of the .lib
file.
Steps to reproduce:
- unpack the attachment
- copy the boost lib to
boost
directory - copy boost.build to
boost-build
directory - run
boost-build\bin\b2
- or
boost-build\bin\b2 target=msvc-12
Tested with msvc 10 and 12. Standard shared library/dll project compiles fine.
Attachments (1)
Note:
See TracTickets
for help on using tickets.
The reason is that <suppress-import-lib>true disables the import library, but msvc.link.dll assumes that the import library is the second target (which is actually the .pdb).