我正在尝试在64位计算机上的模拟32位环境(cel5.03-i386-2.3)中编译大型C++项目。 (之前在32位计算机上编译效果很好)

在此编译过程中,某些文件失败,如下所示。奇怪的是,传递给g++命令的参数是“--sysroot =” ,而在错误消息中,它变成了“-fsysroot =”

为什么会发生这种情况?

/usr/bin/g++ -MMD -MF /proj/src/.debug/lib/osiris/core/utils/WWNConverter.d  -I/proj/src/lib/osiris -DDEBUG_LOG -DDEBUG -D_REENTRANT -DAPE_MODE  -DSWAT_MODE -g -Werror -Wall -Wno-write-strings -fPIC -m32 --sysroot=/auto/andpkg/rep_cache//wr-x86/3.0FCS/sysroot -rdynamic -I/proj/src -I/proj/src/.debug/include/private -I/proj/src/.debug/include/public -I/proj/src/lib/framework -I/proj/src/lib/osiris -I/proj/src/lib/prt -I/proj/src/lib/callhome -I/proj/src/lib/snmp  -I/proj/src/.debug/external/pcre/include -I/proj/src/external/sqlite/include -I/proj/src/external/openssl/openssl-fips-1.2.3/include -I/proj/src/support/storage-driver/include -I/proj/src/external/json/include -DTARGET_OBJECT=libosiris.so -I/proj/src/.debug/external/pcre/include -I/proj/src/.debug/external/libcurl/include -o /proj/src/.debug/lib/osiris/core/utils/WWNConverter.o -c /proj/src/lib/osiris/core/utils/WWNConverter.cc

make[1]: *** [/proj/src/.debug/lib/osiris/core/utils/WWNConverter.o] Error 1
cc1plus: error: unrecognized command line option "-fsysroot=/auto/andpkg/rep_cache//wr-x86/3.0FCS/sysroot"

最佳答案

32位编译器(GCC 3.4.6)太旧,无法支持--sysroot选项,该选项已与commit 102367一起添加到了主干中,并且直到GCC 4.1.0才使它成为发布分支。

关于c++ - cc1plus : error: unrecognized command line option “-fsysroot=<path>” with g++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26228947/

10-11 16:00