1

希望这将是一个简单的。我正在阅读《Beginning Python》一书,学习如何使用 c 或 c++ 进行扩展,然后使用 swig 使其可用于多种语言。我已经运行了一个回文检查 c 代码位的示例。希望我不需要包含所有代码。在编译和链接方面:

gcc -dynamic -I/Library/Frameworks/Python.framework/Versions/Current/include/python2.7 -c palindrome.c

gcc -dynamic -I/Library/Frameworks/Python.framework/Versions/Current/include/python2.7 -c palindrome_wrap.c

如果我按照书中所说的那样执行这些命令,我​​看不到任何明显的问题,但是下一步会出现问题:

gcc -dynamiclib palindrome_wrap.o palindrome.o -o _palindrome.so -Wl, -undefined, dynamic_lookup
i686-apple-darwin11-llvm-gcc-4.2: dynamic_lookup: No such file or directory 

我正在运行的示例是逐字逐句的教科书,它是一本初学者书籍,自然我只是学习使用 c 和 c++ 为其他语言制作库而感到难过。我怀疑自从本书编写以来,mac上的文件或目录可能发生了一些变化(我选择mac来学习这一点,因为它比windows更接近unix)。编译步骤对我来说仍然看起来相当神秘,所以希望有人知道这里出了什么问题。

谢谢,

本·W。

4

1 回答 1

0

gcc 选项以无逗号结尾,“-Wl -undefined dynamic_lookup”。至少它对我有用。

于 2013-05-07T13:34:05.270 回答