Я хочу встроить интерпретатор Python 3.3 в приложение Cocoa Mac OS 10.9, чтобы добавить некоторые функции Python. Из того, что я прочитал из другого вопроса и ответа StackOverflow, было бы лучше создать статическую библиотеку (ссылки в нижнем колонтитуле), чем динамическую библиотеку.
Вот что я пытался создать статическую библиотеку (файл .a) из интерпретатора Python:
- Я скачал исходный код Python 3.3 (CPython) с здесь.
- Я добавил
*static*
в файлModules/Setup.dist
- I've entered the following to compile the source in the Terminal:
./configure LDFLAGS="-static -static-libgcc" CPPFLAGS="-static"
В результате я получаю следующее:
checking build system type... x86_64-apple-darwin13.1.0
checking host system type... x86_64-apple-darwin13.1.0
checking for --enable-universalsdk... no
checking for --with-universal-archs... 32-bit
checking MACHDEP... darwin
checking for --without-gcc... no
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/Path/To/My/Source/Python-3.3.4':
configure: error: C compiler cannot create executables
See `config.log' for more details
Насколько я понимаю, gcc фактически заменен Apple LLVM версии 5.0 (clang-500.2.79) (на основе LLVM 3.3svn) в Mavericks.
Кроме того, я нашел следующее в config.log...
configure:3914: checking whether the C compiler works
configure:3936: clang -static conftest.c >&5
ld: library not found for -lcrt0.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Вопрос. Как мне скомпилировать Python 3.3 с помощью Apple LLVM, чтобы у меня была статическая библиотека, такая как libpython3.3.a эм>?
py2app
для создания пакета приложений на основе Python. Во втором случае, я думаю, вы столкнулись с проблемами, пытаясь использовать-static
. Взгляните на содержимоеconfig.log
и прочитайтеman ld
описание-static
. Вы, вероятно, не хотите использовать его в OS X. - person Ned Deily   schedule 09.03.2014