gpt4 book ai didi

python - CMake - 安装问题以制作包

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:08:51 25 4
gpt4 key购买 nike

为了安装 dlib,我遵循了本教程:http://www.pyimagesearch.com/2017/03/27/how-to-install-dlib/ .我在 Mac OS X 10.12.5 上使用 Python 3.5。我跑

$ brew install cmake
$ brew install boost
$ brew install boost-python --with-python3

它没有任何错误。
但是当我尝试使用 pip install dlib 安装 dlib 时。我有一个错误:

The C compiler
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc"
is not able to compile a simple test program.
error: cmake configuration failed

ld: can't map file, errno=22 file '/usr/local/opt/qt/lib' for architecture x86_64

有关完整错误,请参阅此链接(不想粘贴完整错误): https://gist.github.com/alexattia/3e98685310d90b65031db640d3ea716a

追溯错误后,当我尝试手动制作 dlib 时,我有这个:

  Linking C executable cmTC_05e45

/usr/local/Cellar/cmake/3.8.2/bin/cmake -E cmake_link_script
CMakeFiles/cmTC_05e45.dir/link.txt --verbose=1


/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-Wl,-search_paths_first -Wl,-headerpad_max_install_names
/usr/local/opt/qt/lib CMakeFiles/cmTC_05e45.dir/testCCompiler.c.o -o
cmTC_05e45

完整跟踪展开:https://gist.github.com/alexattia/1e54ffb87c9eb4c811033f5cadd90331

我重新安装了 XCode(来自 Apple Store)和 CMake(来自下载页面的 3.8.2),我什至安装了 Qt Creator 以获得干净版本的 Qt,但我仍然有同样的错误。
我尝试用 conda 安装它,但安装后,我仍然没有 python 中的模块。

非常感谢您的帮助。

最佳答案

你评论了:

Indeed, in my .bash_profile, I have export LDFLAGS="/usr/local/opt/qt/lib", export CPPFLAGS="/usr/local/opt/qt/include", export PATH="/usr/local/opt/qt/bin:$PATH". But even while commenting it, I still have the same error

您对 LDFLAGSCPPFLAGS 的分配都没有意义,并且第一个是与您有关的链接器失败的原因。

如果设置了环境变量 LDFLAGS 的值,则由您的构建系统解释作为链接选项。同样 环境变量的值CPPFLAGS,如果设置,则被解释为预处理器选项。

/usr/local/opt/qt/lib 不是链接选项和 /usr/local/opt/qt/include不是预处理器选项。这些只是目录名称。任何认为您传递给不是选项的链接器(或预处理器或编译器)是由该工具作为输入文件进行解释。因此,您使链接器相信/usr/local/opt/qt/lib 是链接的输入文件。

ld: can't map file, errno=22 file '/usr/local/opt/qt/lib' for architecture x86_64

是链接器在发现 /usr/local/opt/qt/lib 不是一个文件。

据推测,您希望指示链接器 /usr/local/opt/qt/lib 是一个目录,它应该在其中搜索您的链接所需的库。表达该意图的链接选项是:

-L/usr/local/opt/qt/lib

这是 GCC options for linking

同样,您打算指示预处理器 /usr/local/opt/qt/include是一个目录,它应该在其中搜索头文件。预处理器表达的选项是:

-I/usr/local/opt/qt/include

这是 GCC options for preprocessing

指定编译或链接选项是不正常的,不可取的在你的 bash 登录配置文件中,就像你正在做的那样。在中指定此类选项构建系统的输入文件(makefile、cmakelists 文件或类似文件),或作为参数构建系统的配置。但是如果你坚持在你的 bash 登录配置文件,那么你应该指定:

LDFLAGS=-L/usr/local/opt/qt/lib
CPPFLAGS=-I/usr/local/opt/qt/include

一旦您在 bash_profile 中进行了这些环境设置,它们就会仅在新的登录 shell 中生效。

关于python - CMake - 安装问题以制作包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45178051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com