我正在运行 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
答案1
好吧,我设法找到方法了。
而不仅仅是:
make
我尝试使用:
make CXX=/usr/local/bin/g++
它解决了我的问题...