Как передать директиву препроцессора в упакованный заголовочный файл из Cython setup.py? - PullRequest
1 голос
/ 24 февраля 2020

У меня есть заголовочный файл с именем stb_image.h, и он обернут в файл stb_image.pxd, который предоставляет только те функции, которые мне нужны. stb_image.h можно найти здесь . Ниже мой stb_image.pxd файл.

cdef extern from "stb_image.h":
    ctypedef unsigned char stbi_uc
    stbi_uc *stbi_load(char *filename, int *x, int *y, int *comp, int req_comp)
    void stbi_image_free(void *retval_from_stbi_load)

Я упаковал только те функции, которые мне нужны. В line 498 из stb_image.h есть директива препроцессора:

#ifdef STB_IMAGE_IMPLEMENTATION

Эта директива охватывает большую часть реализации в заголовочном файле. В настоящее время все работает нормально, если я просто #define STB_IMAGE_IMPLEMENTATION прямо над этой линией, но я ищу более элегантный способ сделать это. Должен ли я создать setup.py для этого?

...