编辑:

编辑:

我正在运行 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++

它解决了我的问题...

相关内容