[Python-Dev] Static builds on Windows (original) (raw)
Thomas Heller theller at python.net
Thu Jul 29 21:10:47 CEST 2004
- Previous message: [Python-Dev] Static builds on Windows
- Next message: [Python-Dev] Static builds on Windows
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Martin v. Löwis" <martin at v.loewis.de> writes:
Thomas Heller wrote:
I guess you need a def file as well, or another way to define the exported functions? I'd assume that the current mechanism of DLEXPORT stays. Then, the DLL project simply needs to link all object files together - either by referencing symbols, or by explicitly linking all object files _together into a DLL. The declspec(dllexport) declarations will cause the proper symbols to get exported.
I'm lost in these symbols. It seems, the DL_EXPORT symbol is already deprecated, and public functions should be, and are, declared PyAPI_FUNC. OTOH, the only way to define PyAPI_FUNC as __declspec(dllexport) is to define Py_ENABLE_SHARED and Py_BUILD_CORE. And isn't Py_ENABLE_SHARED mutually exclusive with Py_NO_ENABLE_SHARED?
Of course, the same will happen if the static library is incorporated into an executable - that will also export all symbols.
Which makes the exe slightly larger, because of the import table section. I have yet to figure out if extensions can link to these functions - normally they expect the functions in the pythonxy.dll module, and not in the (say) python_static.exe.
Thomas
- Previous message: [Python-Dev] Static builds on Windows
- Next message: [Python-Dev] Static builds on Windows
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]