我已經在不同的文件夾包括幾個用Cython模塊項目:用Cython/C++ - 在共享PXD文件頭文件路徑
clibs
File.cpp
File.hpp
module
module/folder
__init__.py
file1.pyx
file1.pxd
__init__.py
file2.pyx
在module/folder/file1.pxd
我有這樣的事情:
cdef extern from "../../clibs/File.hpp":
cdef cppclass MyCppClass:
int _data
MyCppClass(int arg)
cdef class MyPyClass:
cdef MyCppClass* cpp_obj
和然後在module/file2.pyx
I cimport
來自module/folder/file1.pxd
的聲明:
from module.folder.file1 cimport MyCppClass, MyPyClass
現在,當我嘗試建立這個,用Cython閱讀module/folder/file1.pxd
時產生的線
#include "../../clibs/File.hpp"
,並且將其放入到新生成的module/file2.cpp
,這顯然是一個無效的路徑!
我該如何解決這個問題?我可以在我的extern
子句中指定相對於項目根目錄的路徑嗎?