[英]Building a C++ formula for homebrew
我对Ruby的经验很少,我试图建立一个简单的自制公式。 我有一个具有以下结构的简单测试项目
.
├── Makefile
└── test.cpp
0 directories, 2 files
然后我有以下.rb
公式文件
class Testbrew < Formula
desc ""
homepage ""
url ""
version ""
head ""
sha256 ""
def install
# system "make"
# system("g++ -std=c++14 -O3 test.cpp -o testbrew")
system "g++", "-std=c++14",
"-O3",
"-Wall",
"-Werror",
"-Wextra",
"-pedantic",
"-Wvla",
"test.cpp",
"-o testbrew"
bin.install "testbrew"
ohai("Done!")
end
end
这里的混乱的部分是前两个注释行system
工作,安装软件包,但第三个没有,任何想法,为什么? 如果我尝试第三行,我会收到错误消息
==> g++ -std=c++14 -O3 -Wall -Werror -Wextra -pedantic -Wvla test.cpp -o testbrew
Error: No such file or directory - testbrew
另外,作为后续操作,函数调用system()
不允许用户执行某些操作吗? 即是否有任何安全限制(例如ptrace
)?
您的参数"-o testbrew"
是错误的。 使用选项" testbrew"
包括空格)将其解析为-o
。 这仅是可能的,因为具有多个参数的system
绕过常规的shell解析,您将直接负责正确拆分参数。
您已经正确地分解了其他参数。 我建议这样做:
"-o", "testbrew"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.