0

我想编译一个源代码,但是关于__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 编译吗?

4

3 回答 3

0

编译 gcc 时使用以下配置选项:

--program-prefix=foo --program-suffix=bar

它将生成“foo-gcc-bar”形式的 bin 程序,以便您可以区分不同的 gcc 版本。

将 foo 和/或 bar 替换为适合您构建的“标签”(例如“-4.6”)。

这样,如果它没有正确找到您的工具链,它将快速失败,而不是使用 3.4 版本。

这也意味着不同的工具链构建可以共存于标准安装前缀目录中。

于 2012-03-27T11:25:52.543 回答
0

我们必须使用 -march=686 开关让它在英特尔上工作。

于 2012-04-09T02:23:07.997 回答
0

尝试检查和更新LD_LIBRARY_PATH,以使用安装的新 gcc 的 lib 路径。

于 2013-06-20T23:02:06.423 回答