如何安装C++;“依赖性”;“从源头上”;对于Mac OS上的Python包? 有一个包含Python“绑定”的GITHUB RePO,它是我感兴趣的C++库。自述文件中有大量关于如何在Linux上安装C++库的信息,但没有关于如何使用Mac OS。
我还打开了一个问题,要求自述文件安装说明包括除linux之外的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安装了它,但不确定要传递什么参数
- (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