当前,-stdlib=libc++
标志在macOS上是无条件传递的。
参考:https://github.com/piskvorky/gensim/blob/develop/setup.py
这是不理想的,因为尽管苹果确实从10.7开始使用libc++
,但不必要的硬编码会破坏对libstdc++
的编译。
当前,-stdlib=libc++
标志在macOS上是无条件传递的。
参考:https://github.com/piskvorky/gensim/blob/develop/setup.py
这是不理想的,因为尽管苹果确实从10.7开始使用libc++
,但不必要的硬编码会破坏对libstdc++
的编译。
4条答案
按热度按时间fv2wmkja1#
应该使用哪个相关行来在大多数地方工作?你能在PR中提出一个拟合吗?
gkl3eglg2#
@gojomo 能否将其设置为在Clang被使用(即不是GCC)的情况下生效?这样就可以解决问题,因为macOS上的Clang总是使用
libc++
,而且据我所知,它总是支持-stdlib=
标志,而GCC默认情况下不支持-stdlib=
,可能链接到libstdc++
或libc++
(前者是默认行为,后者可以在GCC使用-stdlib=
支持构建时使用)。我可以确认,使用GCC构建的程序不需要传递
-stdlib=
。h5qlskok3#
我不是MacOS构建选项方面的Maven,尽管MacOS是我的主要系统,但在使用/构建Gensim时,我几乎总是在Linux虚拟机上进行。所以我无法想象你的建议在更改的文件中意味着什么,也无法用自己的判断来评估它。但是,一个具体的PR可以自动验证为仍然通过测试,仍然创建成功的官方MacOS wheel构建,然后(通过你自己和其他人的意见)推荐为在不常见/非官方wheel构建环境中也更好的选择。
ibps3vxo4#
@gojomo 我会看看如何让它有条件。