Gcc
g ++無法辨識的選項不是命令的一部分
我正在嘗試編譯一個項目,我使用
make
並得到了以下輸出g++ -g -Wall -std=c++11 -I include/ -o build/example.o -c example/example.cpp as: unrecognized option '--64'
該錯誤表明該選項
--64
不在命令中時已使用且無法辨識。此錯誤的其他線上事件表明更改
--64
為--m64
. 此問題與使用的 gcc 版本有關。但是在我的情況下該選項不存在,當命令不包含指定選項時如何出現此錯誤?
編輯:
make -m
產生相同的輸出。即使手動執行 g++ 命令也會發生錯誤。
編輯:獲取文件後終端出現錯誤:(
source setup.bash
項目需要進行某些操作)該腳本導出以下變數,但它們似乎與 gcc 無關。
- OPENOCD_SCRIPTS
- IDF_PATH
- IDF_TOOLS_EXPORT_CMD
- IDF_PYTHON_INSTALL_CMD
- IDF_PYTHON_ENv_PATH
它還添加了一些路徑
PATH
即使有了這些資訊,我仍然不明白為什麼會發生錯誤。
即使 gcc 版本由於添加到的路徑而更改
PATH
,該選項也不是命令的一部分。編輯:之後
source setup.bash
,
gcc
還是一樣$ type gcc gcc is /usr/bin/gcc $ gcc --version gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 ...
as
變化$ type as as is /usr/bin/as $ as --version GNU assembler (GNU Binutils for Ubuntu) 2.34 ...
$ type as as is /path/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/xtensa-esp32-elf/bin/as $ as --version GNU assembler (crosstool-NG esp-2020r3) 2.31.1 ...
gcc 是一個驅動程序。它通過呼叫一系列其他程序來完成編譯、組裝和連結工作。
as
是 gcc 呼叫的程序之一。該
setup.bash
腳本沒有改變路徑,gcc
但它改變了as
.因此,替換
as
程序會拋出錯誤。