Make
嘗試製作時“C++ 編譯器無法創建執行檔”
我正在執行 32 位 CentOS 7。我正在嘗試從原始碼安裝 tesseract。我有 g++ 版本 4.8.5,在編譯過程中出現錯誤(看起來像這樣),我嘗試從原始碼更新 g++。經過一番麻煩,我成功地安裝了它,並
g++ -v
告訴我它是 10.0.0 版本。但是,當我
make
在 tesseract 文件夾中執行時,錯誤並沒有改變。我發現新的 g++ 安裝到 /usr/local/bin/ 而之前的版本安裝到 /usr/bin/,所以(我知道這可能真的很糟糕,但是……)我做了一個備份/usr/bin/g++ 並複制了新版本(來自 /usr/local/bin/)。
make
開始顯示一個新錯誤:checking for g++... g++ checking whether the C++ compiler works... no configure: error: in `/home/lambda/Téléchargements/tesseract': configure: error: C++ compiler cannot create executables See `config.log' for more details make: *** [config.status] Erreur 77
我想檢查 config.log 但它很長。但是,我認為這部分可能很有趣:
configure:2592: checking for g++ configure:2608: found /bin/g++ configure:2619: result: g++ configure:2646: checking for C++ compiler version configure:2655: g++ --version >&5 g++ (GCC) 10.0.0 20191014 (experimental)
我嘗試使用 g++ 編譯一個簡單的 hello world 程序,它工作正常。
任何幫助表示讚賞!我是初學者,所以我可能忘記了一些簡單的事情。
編輯:
這是 config.log 的另一部分可能很有趣:
configure:2686: checking whether the C++ compiler works configure:2708: g++ conftest.cpp >&5 g++: fatal error: cannot execute 'cc1plus': execvp: No such file or directory compilation terminated. configure:2712: $? = 1 configure:2750: result: no configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "tesseract" | #define PACKAGE_TARNAME "tesseract" | #define PACKAGE_VERSION "5.0.0-alpha" | #define PACKAGE_STRING "tesseract 5.0.0-alpha" | #define PACKAGE_BUGREPORT "https://github.com/tesseract-ocr/tesseract/issues" | #define PACKAGE_URL "https://github.com/tesseract-ocr/tesseract/" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:2755: error: in `/home/lambda/Téléchargements/tesseract': configure:2757: error: C++ compiler cannot create executables
好吧,我設法找到了方法。
而不僅僅是:
make
我嘗試使用:
make CXX=/usr/local/bin/g++
它解決了我的問題……