当我想使用 Python 脚本编译用 C++ 编写的代码以在 x 目录中运行“make”时,我一直遇到错误。编译代码大约需要几秒钟,所以我使用时间模块让脚本休眠 60 秒以完成代码编译。
代码如下:
from subprocess import call
from time import sleep
def make_ut_adsmain():
os.system("make ../../ads/main/unittest")
# call(["ls", "-l"])
sleep(60)
make_ut_adsmain()
# Run other functions when compiled...
错误
make: *** No rule to make target `../../ads/main/unittest'. Stop.
代码从未真正编译过,因为其余代码依赖于从未创建的日志文件。请指导我。
最佳答案
我实际上弄明白了并能够使用以下代码运行构建过程:
import subprocess
from time import sleep
def make_ut_adsmain():
subprocess.Popen(["make"], stdout=subprocess.PIPE, cwd="../../ads/main/unitest")
sleep(60)
make_ut_adsmain()
请注意,之前的解决方案仅在您需要绕过错误时才有效。正确的做法如下。查看@tdelaney 评论并阅读有关 python 文档的更多信息 https://docs.python.org/2/library/subprocess.html
import subprocess
from time import sleep
def make_ut_adsmain():
subprocess.check_all(["make"], cwd="../../ads/main/unitest")
make_ut_adsmain()
关于python - 在 Python 脚本中为 C++ 代码运行构建 (make),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39858958/