< H2>编译C++源代码,使用Apple Clang < /H2>
<p>我下载了<a href="https://github.com/asiffer/libspot" rel="nofollow noreferrer">prjoect (libspot)</a>并在Mac上成功编译了它。我更改了Makefile中的两行(39和40)以使其工作。(在<a href="https://stackoverflow.com/a/60564952/4116538">this answer</a>之后)</p>
<pre><code>CC = clang++ # change from g++ to default Apple clang
CXXFLAGS = -std=c++11 -Wall -pedantic -Xpreprocessor -fopenmp -lomp # additional flags
</code></pre>
<p>您应该通过键入带有“正确”Makefile的<code>make</code>来获取二进制文件</p>
<p>(如果您看到类似“找不到omp.h”的内容,请将<code>-I/usr/local/opt/libomp/include</code>添加到<code>CXXFLAGS</code>。)</p>
<hr/>
<h2>为了这个问题</h2>
<p>更新的问题描述中的错误消息</p>
<blockquote>
<p>make: *** No rule to make target <code>omp_hello.c', needed by </code>omp_hello'. Stop.</p>
</blockquote>
<p>正在告诉我们文件<code>omp_hello.c</code>丢失。编写Makefile是为了将源代码<code>omp_hello.c</code>编译为可执行的二进制文件<code>omp_hello</code>。如果我有C源文件(<code>omp_hello.c</code>),Makefile将允许我只需键入</p>
<pre class="lang-sh prettyprint-override"><code>make
</code></pre>
<p>而不是</p>
<pre class="lang-sh prettyprint-override"><code>/usr/local/opt/llvm/bin/clang \
-I/usr/local/opt/llvm/include -fopenmp \
-L/usr/local/opt/llvm/lib \
omp_hello.c -o omp_hello
</code></pre>
<p>这只是一个普通的编译过程,与Python无关。错误消息表示缺少要编译的源代码(<code>omp_hello.c</code>)</p>
<hr/>
<p>看起来这是一个带有自定义Makefile的小项目。通常,您只需使用<code>make</code>编译代码。您得到的错误似乎表明缺少llvm。您可能希望在<a href="https://stackoverflow.com/a/48746939/4116538">this answer</a>之后尝试安装llvm</p>