This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Generation of an executable's library file when python is built is static
Type: behavior Stage:
Components: Windows Versions: Python 3.11
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: lakor64, paul.moore, steve.dower, tim.golden, zach.ware
Priority: normal Keywords: patch

Created on 2021-05-10 11:27 by lakor64, last changed 2022-04-11 14:59 by admin.

Files
File name Uploaded Description Edit
prop.patch lakor64, 2021-05-10 11:27
Messages (1)
msg393377 - (view) Author: Christian Rendina (lakor64) Date: 2021-05-10 11:27
When linking any windows application with pythoncore built as a static library, such executable will automatically export all python c api functions and generate a static library.

Exporting functions from a static library is a strange behavour, as I am not aware of any reason why dllimport/export should be used when building a static library.

This behavour oncurrs because python's export.h doesn't know when the library is linked as shared or static.

I have attached a patch that should fix this issue.
Tested under Windows 10 + VS2019, a static linkage of Python3 does not produce any library file anymore, and such exports are no longer visible with Dependencies.

I would like to apology if I got any tag wrong, as it's my first issue here.
History
Date User Action Args
2022-04-11 14:59:45adminsetgithub: 88267
2021-05-10 11:27:58lakor64create