(OK) Fedora 24 - install gccxml - (GCC-XML version 0.9.0)
------------------------------------------------------------
Python API Scanning Support : not enabled (gccxml missing)
------------------------------------------------------------
download: https://github.com/gccxml/gccxml
------------------------------------------------------------
scp gccxml-master.zip 10.109.253.80:/opt/tools
------------------------------------------------------------
These instructions assume that the front-end will be built out-of-source (recommended), but an in-source build should also work. The example command lines assume the current working directory is just above the top-level source directory (called gccxml-master):
[root@localhost tools]# unzip gccxml-master.zip
[root@localhost tools]# cd /opt/tools/
cmake ../gccxml-master -DCMAKE_INSTALL_PREFIX:PATH=/installation/path
make
(The "-D..." option can be left off if you want to use /usr/local as the installation prefix.)
This will install executables called gccxml and gccxml_cc1plus in PREFIX/bin. Support library files will also be placed in PREFIX/share/gccxml-(version).
----------------------------------
/opt/tools/gccxml-master/GCC/gcc/toplev.c:546:1: 错误:‘floor_log2’重定义
/opt/tools/gccxml-master/GCC/gcc/toplev.c:581:1: 错误:‘exact_log2’重定义
/opt/tools/gccxml-master/GCC/gcc/toplev.h:174:1: 附注:‘floor_log2’的上一个定义在此
/opt/tools/gccxml-master/GCC/gcc/toplev.h:180:1: 附注:‘exact_log2’的上一个定义在此
----------------------------------
vim /opt/tools/gccxml-master/GCC/gcc/toplev.h
----------------------------------
/* // 注释下面两个函数
extern inline int
floor_log2 (unsigned HOST_WIDE_INT x)
{
return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1;
}
extern inline int
exact_log2 (unsigned HOST_WIDE_INT x)
{
return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1;
}
*/
----------------------------------
----------------------------------
CMakeFiles/gccxml_cc1plus.dir/except.c.o:在函数‘nothrow_libfn_p’中:
except.c:(.text+0x2a11):对‘libc_name_p’未定义的引用
----------------------------------
vim /opt/tools/gccxml-master/GCC/gcc/cp/cfns.h
----------------------------------
//#ifdef __GNUC__
//__inline
//#endif
const char * libc_name_p (const char *, unsigned int);
//#ifdef __GNUC__
//__inline
//#endif
const char *
libc_name_p (register const char *str, register unsigned int len)
----------------------------------
make install
$ gccxml --version
GCC-XML version 0.9.0
------------------------------------------------------------
Python API Scanning Support : not enabled (gccxml missing)
------------------------------------------------------------
download: https://github.com/gccxml/gccxml
------------------------------------------------------------
scp gccxml-master.zip 10.109.253.80:/opt/tools
------------------------------------------------------------
These instructions assume that the front-end will be built out-of-source (recommended), but an in-source build should also work. The example command lines assume the current working directory is just above the top-level source directory (called gccxml-master):
[root@localhost tools]# unzip gccxml-master.zip
[root@localhost tools]# cd /opt/tools/
cmake ../gccxml-master -DCMAKE_INSTALL_PREFIX:PATH=/installation/path
make
(The "-D..." option can be left off if you want to use /usr/local as the installation prefix.)
This will install executables called gccxml and gccxml_cc1plus in PREFIX/bin. Support library files will also be placed in PREFIX/share/gccxml-(version).
----------------------------------
/opt/tools/gccxml-master/GCC/gcc/toplev.c:546:1: 错误:‘floor_log2’重定义
/opt/tools/gccxml-master/GCC/gcc/toplev.c:581:1: 错误:‘exact_log2’重定义
/opt/tools/gccxml-master/GCC/gcc/toplev.h:174:1: 附注:‘floor_log2’的上一个定义在此
/opt/tools/gccxml-master/GCC/gcc/toplev.h:180:1: 附注:‘exact_log2’的上一个定义在此
----------------------------------
vim /opt/tools/gccxml-master/GCC/gcc/toplev.h
----------------------------------
/* // 注释下面两个函数
extern inline int
floor_log2 (unsigned HOST_WIDE_INT x)
{
return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1;
}
extern inline int
exact_log2 (unsigned HOST_WIDE_INT x)
{
return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1;
}
*/
----------------------------------
----------------------------------
CMakeFiles/gccxml_cc1plus.dir/except.c.o:在函数‘nothrow_libfn_p’中:
except.c:(.text+0x2a11):对‘libc_name_p’未定义的引用
----------------------------------
vim /opt/tools/gccxml-master/GCC/gcc/cp/cfns.h
----------------------------------
//#ifdef __GNUC__
//__inline
//#endif
const char * libc_name_p (const char *, unsigned int);
//#ifdef __GNUC__
//__inline
//#endif
const char *
libc_name_p (register const char *str, register unsigned int len)
----------------------------------
make install
$ gccxml --version
GCC-XML version 0.9.0
------------------------------------------------------------
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通