[英]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.