如何安装C++;“依赖性”;“从源头上”;对于Mac OS上的Python包? 有一个包含Python“绑定”的GITHUB RePO,它是我感兴趣的C++库。自述文件中有大量关于如何在Linux上安装C++库的信息,但没有关于如何使用Mac OS。

如何安装C++;“依赖性”;“从源头上”;对于Mac OS上的Python包? 有一个包含Python“绑定”的GITHUB RePO,它是我感兴趣的C++库。自述文件中有大量关于如何在Linux上安装C++库的信息,但没有关于如何使用Mac OS。,python,c++,macos,installation,Python,C++,Macos,Installation,我还打开了一个问题,要求自述文件安装说明包括除linux之外的mac OS特定安装。在这个问题上没有任何活动 以下是两份回购协议: (Python) (C++) 由于C++软件包不能通过BREW/PIP/AANCONDA进行安装,我不知道该怎么走。 我所尝试的: 我已经尝试了/configure,以及make。没有/configure文件 要解决缺少/configure,请阅读一个名为autoconf的工具,该工具可以为您生成/configure。我用brew安装了它,但不确定要传递什么参数

我还打开了一个问题,要求自述文件安装说明包括除linux之外的mac OS特定安装。在这个问题上没有任何活动

以下是两份回购协议:

  • (Python)
  • (C++)

由于C++软件包不能通过BREW/PIP/AANCONDA进行安装,我不知道该怎么走。 我所尝试的:


我已经尝试了
/configure
,以及
make
。没有
/configure
文件

要解决缺少
/configure
,请阅读一个名为
autoconf
的工具,该工具可以为您生成
/configure
。我用
brew
安装了它,但不确定要传递什么参数。这些文档很难理解:

仅使用
make
会导致错误提示:
error:unsupported选项'-fopenmp'
,它将我送入一个完全不同的兔子洞,让我在Makefile中添加行:

CPP = /usr/local/opt/llvm/bin/clang
CPPFLAGS = -I/usr/local/opt/llvm/include -fopenmp
LDFLAGS = -L/usr/local/opt/llvm/lib

omp_hello: omp_hello.c
    $(CPP) $(CPPFLAGS) $^ -o $@ $(LDFLAGS)
那感觉很危险,因为我不知道这些东西意味着什么。此外,它还导致了一个新错误:
***缺少分隔符。停止。

然后我读到这可能是因为使用了“软”选项卡而不是“硬”选项卡,可以使用
cat-e-t-v makefile\u name
识别这些选项卡。我找到了一行缺少“硬”制表符的地方(上面的缩进行),并插入了它。这导致了一个新的错误:

make: *** No rule to make target `omp_hello.c', needed by `omp_hello'.  Stop.
接下来,根据杨玉石的建议和他的后续评论,我根据他的回答更改了第39行和第40行,并将一些附加文件的位置添加到
cxflags
变量中:

-I//opt/homebrew/Cellar/libomp/11.0.1/include 
-L/opt/homebrew/Cellar/libomp/11.0.1/lib
这让我走得更远了。接下来,OSX不喜欢这个脚本试图安装的地方,正如所解释的。因此,我在makefile中更改了这两行,这两行似乎指示了安装位置:

INSTALL_HEAD_DIR = $(DESTDIR)/usr/include/libspot
INSTALL_LIB_DIR = $(DESTDIR)/usr/lib

这确实让我走得更远了。接下来,我遇到一个错误,抱怨makefile中的以下几行出现了平面
-t

@install -t $(INSTALL_LIB_DIR) $(LIB_DIR)/*.so
@install -t $(INSTALL_HEAD_DIR) $(INC_DIR)/*.h
因此,我删除了这些标志,这导致了以下错误:

Checking the headers installation directory (/usr/local/include/libspot)
Checking the library installation directory (/usr/local/lib)
Installing the shared library (libspot.so)
install: /usr/local/lib: Inappropriate file type or format
我找不到阅读材料,也不知道如何修复。如需进一步协助,不胜感激

下面是我试图回答这个问题的SO和其他资源的列表:

我的问题 我该怎么做


如果您知道如何做到这一点,您是否还可以简要解释每个步骤背后的概念?我很乐意学习一点,而不仅仅是按照正确的顺序复制和粘贴命令。

通常需要运行
brew安装
或将源代码下载到某个目录并运行一组命令:

./configure
make
make install

C++通常在Mac上安装一些包,因为它们的维护人员没有为MAC做准备。< /P>用Apple Clang编译C++源代码 我下载了并在Mac上成功编译了。我更改了Makefile中的两行(39和40)以使其工作。(以下)

您应该通过键入带有“正确”Makefile的
make
来获取二进制文件

(如果您看到类似“找不到omp.h”的内容,请将
-I/usr/local/opt/libomp/include
添加到
cxflags


为了这个问题 更新的问题描述中的错误消息

make:**没有规则使目标
omp\u hello.c',这是
omp\u hello'需要的。停下来

正在告诉我们缺少文件
omp_hello.c
。编写Makefile是为了将源代码
omp\u hello.c
编译为可执行的二进制文件
omp\u hello
。如果我有C源文件(
omp_hello.C
),Makefile将允许我只需键入

make
而不是

/usr/local/opt/llvm/bin/clang\
-I/usr/local/opt/llvm/include-fopenmp\
-L/usr/local/opt/llvm/lib\
你好,c-o,你好
这只是一个普通的编译过程,与Python无关。错误消息表示缺少要编译的源代码(
omp\u hello.c



看起来这是一个带有自定义Makefile的小项目。通常您只需使用
make
编译代码。您得到的错误似乎表明缺少llvm。您可能希望尝试安装以下llvm。

从GitHub克隆的repo中没有
/configure
文件。我试着只使用
make
,但得到了
clang:error:unsupported选项'-fopenmp'
,如果第一次尝试失败,我建议您选择其他路径。尝试将Linux安装为VM。它可能会快得多。谢谢,但我已经确保安装了
llvm
以及
libomp
。我已经看到了这个答案。也许试着把
CPP=/usr/local/opt/llvm/bin/clang
改成
CPP=/usr/local/opt/llvm/bin/clang++
?不幸的是,这仍然让我没有规则来设置目标
omp\u hello.c',需要
omp\u hello'。停止。
哦,对不起,这是说您没有文件
omp\u hello.c
。您是否在当前文件夹中看到该文件?(这实际上是一个C文件,不是C++,所以也许你想把代码改为CP> CPP=/Ur/LoT/Ltv/bin/氏族< /代码>…)将其添加到结尾,比如“代码> CXFLAGIS= = STD= C++ 11 -墙-学究- XPROFPROCESS-FOpenMP -LOMP-I/URS/OpT/opt/LiPOMP/包含< /代码>
./configure
make
make install
CC = clang++  # change from g++ to default Apple clang
CXXFLAGS = -std=c++11 -Wall -pedantic -Xpreprocessor -fopenmp  -lomp  # additional flags