我有这个命令来编译我的程序。
c++ -O3 -Wall -shared -pthread -std=c++11 -fPIC $(python3 -m pybind11 --includes) f1.cpp f2.cpp -o exemple$(python3-config --extension-suffix)
我创建了以下makefile。
test:
c++ -O3 -Wall -shared -pthread -std=c++11 -fPIC $(python3 -m pybind11 --includes) f1.cpp f2.cpp -o exemple$(python3-config --extension-suffix)
如果从terminal运行该命令将成功,但make将失败。
它将失败,并出现错误
pybind11/pybind11.h: No such file or directory
1 | #include <pybind11/pybind11.h>
该文件应该在命令中使用$(python3-m pybind11--includes)
导入。
我认为Makefile中的命令执行起来很像bash脚本。
在bash中运行命令和在Makefile中运行命令有什么区别?
将命令结果作为当前命令的一部分插入shell中的更可移植的方法是使用``而不是$(python3-m pybind11--includes)
。Make不解释此类引用。
test:
c++ -O3 -Wall -shared -pthread -std=c++11 -fPIC `python3 -m pybind11 --includes` f1.cpp f2.cpp -o exemple`python3-config --extension-suffix`
生成文件在/bin/sh
中运行命令(默认情况下)。如果您正在使用bash特性,这有时会起到很大的作用;但你不是所以那无关紧要。
这里的问题是$
字符对于make是特殊的:它引入了make变量。如果要将$
传递给shell,则必须将其加倍:
test:
c++ -O3 -Wall -shared -pthread -std=c++11 -fPIC $$(python3 -m pybind11 --includes) f1.cpp f2.cpp -o exemple$$(python3-config --extension-suffix)
我有下面的课。它允许我通过java执行命令。 当我运行命令时,上一个命令的结果没有保存。例如: 给出输出: 为什么第二个“ls”命令不显示“bin”目录的内容?
问题内容: 我运行一个包含此行的python脚本 然后,我在服务器上运行相同的代码,并收到以下错误消息 因此,我要做的就是print bashCommand在运行之前,在终端中插入一个比命令更清晰的信息os.system()。 当然,我再次收到错误(由引起os.system(bashCommand)),但是在该错误出现之前,它会在终端中打印命令。然后我只是复制了输出,然后将复制粘贴到终端中,然后按
问题内容: 有没有办法从Python运行BASH内置命令? 我试过了: 及其许多变化。我想跑步还是。 问题答案: 我终于找到了可行的解决方案。 谢谢大家的投入。
问题内容: 有没有办法在Java应用程序中运行此命令行? 我可以用命令运行它,但是我不能在Java中运行它。 问题答案:
问题内容: 我有一个bash脚本,可以通过命令行像这样运行: 我在调用某个php文件后尝试执行上述命令。 我现在所拥有的是: 但这是行不通的。我尝试过使用和太,但剧本从来没有得到执行。 但是,当我尝试运行它时,它确实起作用,并且是所有文件的列表。 我不确定这是由于我使用的VPS的限制还是问题出在其他地方? 问题答案: 您可能需要在调用脚本之前将chdir更改到正确的目录。这样,您可以在调用shel
我无法在NodeJS应用程序中使用< code>exec运行Conda命令。 我收到以下错误: /bin/sh: /用户/用户名/桌面/存储库/项目/XYZ: 是一个目录 命令未发现错误:您的 shell 未正确配置为使用“conda 激活”。要初始化您的 shell,请运行 目前支持的shell有:-bash-fish-tcsh-xonsh-zsh-powershell 请参阅“conda in