[英]how to get rid of -std=c++17 in g++ command line?
我遇到了一個錯誤,說 std::size() 不是 std 的成員。 然后我找到了這個鏈接: Why std::size() is not a member of std in gcc 8.2.0最終,在我使用g++ -std=c++17 myFile.cpp
編譯文件后,我的代碼運行良好。 現在,我按照上一個鏈接的建議嘗試g++ -std=c++17 6.cpp -o - 6.out
,但沒有成功。 任何意見?
使用以下命令編譯:
g++ -std=c++17 yourFile.cpp -o output_executable_name
將yourFile.cpp
替換為.cpp
文件的名稱,並將output_executable_name
替換為您想要的名稱,它將生成具有此名稱的可執行文件。
在此處查找有關 g++ 編譯器的更多信息。
這可以通過 shell 別名來完成。
如果您真的想擺脫鍵入-std=c++17
的麻煩,您可以在.bashrc
或.zshrc
文件(或與您使用的 shell 對應的任何 rc 文件)中設置別名。
我主要使用zsh,但幾乎所有shell都使用相同的過程......
找出您與echo $SHELL
一起使用的 shell 這可能是/bin/zsh
或/bin/bash
。 然后根據您的 shell 進行以下操作
vim ~/.zshrc
或vim ~/.bashrc
(取決於你的外殼)
添加alias g++="g++ -std=c++17"
然后保存文件
重新啟動您當前的外殼/終端 window (關閉並重新打開)
下次你用 go 編譯時:
g++...
shell 將用g++ -std=c++17
替換它,並為自己節省了 10 次擊鍵。
注意:如果您打算為不同的項目使用各種編譯器版本,則不建議這樣做,但如果您問這個問題,它可能永遠不會有關系。 哈哈!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.