在Mac上将Python3编译为二进制可执行文件

agf1997

我想将python 3命令行程序编译为Mac OS X上的二进制可执行文件。我遵循这些指示

使用Cython编译主要的Python程序

我的python3安装是通过自制程序完成的,但是当我尝试运行时

gcc -Os -I /usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/Headers -o at_analyzer at_analyzer.c -lpython3.5m -lpthread -lm -lutil -ldl -v

我收到以下错误:

Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.12.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -disable-free -disable-llvm-verifier -discard-value-names -main-file-name at_analyzer.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu penryn -target-linker-version 274.1 -v -dwarf-column-info -debugger-tuning=lldb -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -I /usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/Headers -Os -fdebug-compilation-dir /Users/alex/Source/AT_analyzer -ferror-limit 19 -fmessage-length 150 -stack-protector 1 -fblocks -fobjc-runtime=macosx-10.12.0 -fencode-extended-block-signature -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o /var/folders/8l/3c5cnrvj1hg_qbr73dz1pnq40000gn/T/at_analyzer-e9d098.o -x c at_analyzer.c
clang -cc1 version 8.0.0 (clang-800.0.42.1) default target x86_64-apple-darwin16.1.0
ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/local/include"
ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/Library/Frameworks"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/Headers
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks (framework directory)
End of search list.
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -o at_analyzer /var/folders/8l/3c5cnrvj1hg_qbr73dz1pnq40000gn/T/at_analyzer-e9d098.o -lpython3.5m -lpthread -lm -lutil -ldl -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a
ld: library not found for -lpython3.5m
clang: error: linker command failed with exit code 1 (use -v to see invocation)

任何帮助将不胜感激。

agf1997

弄清楚了。我需要使用指向库的路径来指定-L标志。

gcc -Os -I /usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/Headers -L /usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib -o at_analyzer at_analyzer.c -lpython3.5m -lpthread -lm -lutil -ldl -v

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将参数传递给python二进制可执行文件

来自分类Dev

与位置无关的可执行文件:什么是“主要可执行二进制文件”?

来自分类Dev

如何在Mac OS X的可执行文件中嵌入二进制文件的内容?

来自分类Dev

在Linux中从可执行文件到机器代码的二进制执行步骤

来自分类Dev

可执行文件与二进制文件..它们如何工作?

来自分类Dev

bash文件包含可执行文件/二进制代码

来自分类Dev

在自包含的可执行文件中提取二进制文件的位置

来自分类Dev

如何将机器代码转换为二进制可执行文件?

来自分类Dev

包含二进制可执行文件的Bash脚本

来自分类Dev

如何知道我的二进制可执行文件的内存占用量

来自分类Dev

Android:在AOSP版本中包含su二进制可执行文件

来自分类Dev

从JAR为AWS Lambda运行二进制可执行文件

来自分类Dev

UiPath进程可以转换为二进制可执行文件吗?

来自分类Dev

无法在Ubuntu 12.04上运行二进制可执行文件

来自分类Dev

从Debian到Ubuntu的二进制可执行文件?

来自分类Dev

为什么可执行文件需要二进制格式规范?

来自分类Dev

Bash:将原始二进制变量用作可执行文件吗?

来自分类Dev

使用LLVM工具将二进制数据嵌入可执行文件

来自分类Dev

如何将机器代码转换为二进制可执行文件?

来自分类Dev

可执行文件上的通配符(二进制)

来自分类Dev

如何通过指令读取二进制可执行文件?

来自分类Dev

是否可以将可执行文件/二进制文件(已构建)作为unikernels运行?

来自分类Dev

漏洞扫描程序会扫描源代码还是可执行文件(二进制文件)?

来自分类Dev

使用依赖性pandoc-citeproc在Haskell中构建独立的二进制可执行文件

来自分类Dev

如何在目录中递归查找所有二进制可执行文件?

来自分类Dev

如何恢复正在运行的进程被删除的二进制可执行文件

来自分类Dev

将 C/C++ 二进制可执行文件作为 docker 容器运行

来自分类Dev

如何通过 Python selenium 在多个 Firefox 二进制文件中选择要使用的 Firefox 可执行文件

来自分类Dev

头文件如何编译为可执行文件?

Related 相关文章

  1. 1

    将参数传递给python二进制可执行文件

  2. 2

    与位置无关的可执行文件:什么是“主要可执行二进制文件”?

  3. 3

    如何在Mac OS X的可执行文件中嵌入二进制文件的内容?

  4. 4

    在Linux中从可执行文件到机器代码的二进制执行步骤

  5. 5

    可执行文件与二进制文件..它们如何工作?

  6. 6

    bash文件包含可执行文件/二进制代码

  7. 7

    在自包含的可执行文件中提取二进制文件的位置

  8. 8

    如何将机器代码转换为二进制可执行文件?

  9. 9

    包含二进制可执行文件的Bash脚本

  10. 10

    如何知道我的二进制可执行文件的内存占用量

  11. 11

    Android:在AOSP版本中包含su二进制可执行文件

  12. 12

    从JAR为AWS Lambda运行二进制可执行文件

  13. 13

    UiPath进程可以转换为二进制可执行文件吗?

  14. 14

    无法在Ubuntu 12.04上运行二进制可执行文件

  15. 15

    从Debian到Ubuntu的二进制可执行文件?

  16. 16

    为什么可执行文件需要二进制格式规范?

  17. 17

    Bash:将原始二进制变量用作可执行文件吗?

  18. 18

    使用LLVM工具将二进制数据嵌入可执行文件

  19. 19

    如何将机器代码转换为二进制可执行文件?

  20. 20

    可执行文件上的通配符(二进制)

  21. 21

    如何通过指令读取二进制可执行文件?

  22. 22

    是否可以将可执行文件/二进制文件(已构建)作为unikernels运行?

  23. 23

    漏洞扫描程序会扫描源代码还是可执行文件(二进制文件)?

  24. 24

    使用依赖性pandoc-citeproc在Haskell中构建独立的二进制可执行文件

  25. 25

    如何在目录中递归查找所有二进制可执行文件?

  26. 26

    如何恢复正在运行的进程被删除的二进制可执行文件

  27. 27

    将 C/C++ 二进制可执行文件作为 docker 容器运行

  28. 28

    如何通过 Python selenium 在多个 Firefox 二进制文件中选择要使用的 Firefox 可执行文件

  29. 29

    头文件如何编译为可执行文件?

热门标签

归档