ld:警告:macOS不建议使用i386架构(从Xcode构建设置中删除:ARCHS)

时间:2019-02-02 12:49:42

标签: python xcode distutils python-c-api

我是C语言的新手,我正在编写Python C扩展以提高速度。

这是我的设置工具:

# file: setup.py
from distutils.core import setup, Extension

extra_objects = ["/Users/rrg/Documents/test/aliyun-log-c- 
sdk/build/Debug/lib/liblog_c_sdk_static.a"]

module1 = Extension('pycproducer',
                    sources=['pycproducer.c'],
                    extra_objects=extra_objects)

setup(name='pycproducer',
      version='1.0',
      description='This is a Math package',
      ext_modules=[module1])

但是当我运行python setup.py installpython setup.py build时,它显示:

ld:警告:macOS不推荐使用i386架构(从Xcode构建设置:ARCHS中删除)

ld:警告: ignoring file /Users/rrg/Documents/test/aliyun-log-c-sdk/build/Debug/lib/liblog_c_sdk_static.a,该文件是为不是要链接的体系结构的存档(i386):/Users/rrg/Documents/test/aliyun-log-c-sdk/build/Debug/lib/liblog_c_sdk_static.a

它还表明编译命令是:

cc -bundle -undefined dynamic_lookup -arch x86_64 -arch i386 -Wl-F。 build / temp.macosx-10.13-intel-2.7 / pycproducer.o /Users/rrg/Documents/test/aliyun-log-c-sdk/build/Debug/lib/liblog_c_sdk_static.a -o build / lib.macosx-10.13 -intel-2.7 / pycproducer.so

我想问题是我使用了一个静态库:liblog_c_sdk_static.a,但是该库仅支持x64。但是,当我运行python setup.py install时,编译命令会包含-arch x86_64 -arch i386,这会导致此问题。

所以我的问题是:

  1. 如何在setup.py中仅指定X64?我不想支持i386。
  2. 或者如何从编译命令中删除-arch i386?我运行distutils
  3. 时,python setup.py install自动生成了compile命令。

0 个答案:

没有答案