我有一个与此SO 帖子非常相似的问题;但是,在那里实施了建议的修复程序后 - 我仍然收到以下错误。
我正在尝试编译由 Cython 生成的 C 文件。
cython ConnectFour.pyx --embed
我尝试像这样编译我的 c 文件:
gcc -I /usr/local/Cellar/python3/3.7.0/Frameworks/Python.framework/Versions/3.7/Headers -o ConnectFour ConnectFour.c
但是我收到以下错误:
Undefined symbols for architecture x86_64:
"_PyBaseObject_Type", referenced from:
___Pyx_InBases in ConnectFour-3c26d7.o
"_PyBytes_FromStringAndSize", referenced from:
___pyx_pymod_exec_ConnectFour in ConnectFour-3c26d7.o
___Pyx_InitStrings in ConnectFour-3c26d7.o
"_PyCFunction_NewEx", referenced from:
___pyx_pymod_exec_ConnectFour in ConnectFour-3c26d7.o
"_PyCFunction_Type", referenced from:
___Pyx_PyObject_CallOneArg in ConnectFour-3c26d7.o
___Pyx_PyObject_CallNoArg in ConnectFour-3c26d7.o
___Pyx_PyObject_Call2Args in ConnectFour-3c26d7.o
___Pyx_PyCFunction_FastCall in ConnectFour-3c26d7.o
___pyx_pf_11ConnectFour_36eval_heuristic_score in ConnectFour-3c26d7.o
___pyx_pf_11ConnectFour_38list_valid_col_idxs in ConnectFour-3c26d7.o
___pyx_pf_11ConnectFour_40deep_copy_board in ConnectFour-3c26d7.o
...
我是基于这个和这个SO 帖子出现的,我错过了一些图书馆链接?所以我尝试了以下方法。
gcc -I /usr/local/Cellar/python3/3.7.0/Frameworks/Python.framework/Versions/3.7/Headers -o ConnectFour ConnectFour.c -l/usr/local/Cellar/python3/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/libpython3.7.dylib
现在我得到一个 lib not found 错误。
ld:找不到 -l/usr/local/Cellar/python3/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/libpython3.7.dylib 的库
我在这里阅读所有这些 SO 帖子(第一次处理 C)完全超出了我的深度,因此会逐步得到答案。
我需要什么才能编译然后运行我的 C 文件而不会出错?
我知道我的标题位于,/usr/local/Cellar/python3/3.7.0/Frameworks/Python.framework/Versions/3.7/Headers库位于/usr/local/Cellar/python3/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/libpython3.7.dylib
我在 OSX 上,我使用 Homebrew 安装了 Python。
MYYA
慕雪6442864
相关分类