我想编译一个源代码,但是关于__sync_xxx
函数(__sync_bool_compare_and_swap
等)有一些编译错误
机器上的 GCC 版本是 3.4.3(它必须是 gcc 4.1 或更高版本才能支持原子内置),所以我下载了 GCC v4.6,将其复制到另一个目录(我没有删除 v3.4.3)然后更改$PATH
路径对于 GCC 但它不起作用(发生相同的错误)。
我想问一下,只是改变 gcc 路径export PATH=...
足以用新的 GCC 编译吗?
我想编译一个源代码,但是关于__sync_xxx
函数(__sync_bool_compare_and_swap
等)有一些编译错误
机器上的 GCC 版本是 3.4.3(它必须是 gcc 4.1 或更高版本才能支持原子内置),所以我下载了 GCC v4.6,将其复制到另一个目录(我没有删除 v3.4.3)然后更改$PATH
路径对于 GCC 但它不起作用(发生相同的错误)。
我想问一下,只是改变 gcc 路径export PATH=...
足以用新的 GCC 编译吗?
编译 gcc 时使用以下配置选项:
--program-prefix=foo --program-suffix=bar
它将生成“foo-gcc-bar”形式的 bin 程序,以便您可以区分不同的 gcc 版本。
将 foo 和/或 bar 替换为适合您构建的“标签”(例如“-4.6”)。
这样,如果它没有正确找到您的工具链,它将快速失败,而不是使用 3.4 版本。
这也意味着不同的工具链构建可以共存于标准安装前缀目录中。
我们必须使用 -march=686 开关让它在英特尔上工作。
尝试检查和更新LD_LIBRARY_PATH
,以使用安装的新 gcc 的 lib 路径。