簡體   English   中英

為自制軟件構建C ++公式

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM