Clang 链接器问题(从源代码到 gcc-snapshot)

2023-11-27

我似乎无法让它发挥作用。我配置了--with-gcc-toolchain=在 equals 之后我把 gcc 所在的目录(/usr/lib/gcc-snapshot/bin).

我还查看了“clang 链接器问题“但我不知道如何获得接受的答案来找到正确的位置,并且符号链接答案会起作用,除了它正在搜索的所有目录都存在(复制lib从 gcc-snapshot 文件夹到包含位置之一似乎没有帮助)。

正如另一个问题中所建议的,输出clang++ test.cpp -v:

bob@bob:~/programming$ clang++ test.cpp -v
clang 版本 3.3 (主干 171350)
目标:x86_64-unknown-linux-gnu
线程模型:posix
“/home/bob/programming/build/Release+Asserts/bin/clang”-cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -主文件名 test.cpp -mrelocation-model static -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-version 2.22 -momit-leaf-frame-pointer - v -resource-dir /home/bob/programming/build/Release+Asserts/bin/../lib/clang/3.3 -fmodule-cache-path /var/tmp/clang-module-cache -internal-isystem /usr /local/include -internal-isystem /home/bob/programming/build/Release+Asserts/bin/../lib/clang/3.3/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -内部外部系统 /include -内部外部系统 /usr/include -fdeprecated-macro -fdebug-compilation-dir /home/bob/programming -ferror-limit 19 -fmessage-length 80 -mstackrealign -fobjc-runtime= gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -backend-option -vectorize-loops -o /tmp/test-PWiB4M.o -x c++ test.cpp
clang -cc1 版本 3.3 基于 LLVM 3.3svn 默认目标 x86_64-unknown-linux-gnu
忽略不存在的目录“/include”
#include "..." 搜索从这里开始:
#include <...> 搜索从这里开始:
/usr/local/包括
/home/bob/programming/build/Release+Asserts/bin/../lib/clang/3.3/include
/usr/include/x86_64-linux-gnu
/usr/包括
搜索列表结束。
test.cpp:1:10:致命错误:找不到“iostream”文件
#包括 ^
生成 1 个错误。

clang 版本 3.3(主干修订版 171350)

EDIT:没有.o文件在Release+Asserts构建的文件夹。这是正常的吗?如果不是,为什么会这样,我该如何修复它(如果我可以将它指向 clang 的 stdlib,那么这也有效)。

Edit 2:也编译失败int main(){return 0;}因为它找不到crtbegin.o。完整输出如下:

/usr/bin/ld: 找不到 crtbegin.o: 没有这样的文件或目录
/usr/bin/ld: 找不到-lgcc
/usr/bin/ld: 找不到 -lgcc_s
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

之后的结果-v与上面相同,但结束错误不同。

配置日志:
完整文件可以找到here,但第一行(非注释)是:$ ../llvm/configure --with-gcc-toolchain=/usr/lib/gcc-snapshot/gcc


我们发现的问题是 gcc 是使用 --prefix=/usr/lib/gcc-snapshot 配置参数安装的。并且 llvm 配置为 --with-gcc-toolchain=/usr/lib/gcc-snapshot/gcc 参数。它应该与 gcc 安装前缀相同,即 --with-gcc-toolchain=/usr/lib/gcc-snapshot。

问题当前的第一行说“我配置了 --with-gcc-toolchain= 在等于之后我将 gcc 所在的目录(/usr/lib/gcc-snapshot/bin)。”,以及当前的最后一行说“第一行(非注释)是:$ ../llvm/configure --with-gcc-toolchain=/usr/lib/gcc-snapshot/gcc”

这很令人费解,您可能认为您已经放置了标志 --with-gcc-toolchain=/usr/lib/gcc-snapshot/bin 但实际上您已经放置了 --with-gcc-toolchain=/usr/lib/gcc -快照/海湾合作委员会

无论如何,我认为你应该尝试以下方法。

  1. 删除或重命名构建目录(运行配置命令的目录,即找到 config.log 文件的目录)我假设它是 /home/bob/programming/build 目录。
  2. 现在再次创建 /home/bob/programming/build 目录。现在应该是空的。
  3. cd /home/bob/编程/构建
  4. 运行以下配置命令 ../llvm/configure --with-gcc-toolchain=/usr/lib/gcc-snapshot
  5. 完成其余的构建过程。

问题似乎是您没有正确指定 gcc-toolchain 前缀。它应该与配置 gcc 时使用的 --prefix 参数相同。

在这里报告结果。

另请参阅Clang 3.2 构建在构建 gcc 4.7 后损坏

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Clang 链接器问题(从源代码到 gcc-snapshot) 的相关文章

随机推荐

  • iOS 的 APNS 通知声音

    我在为我的应用程序设置消息声音时遇到一些问题 所以在服务器发送的 apns 响应中 我指定 sound default 一切都很好 但如果我设置 sound chime or sound note 它们似乎不起作用 它始终播放 默认 这些是
  • Powershell Excel 自动化 - 在计划任务中保存/打开失败

    我创建了一个简单的 powershell 脚本 它将创建一个 Excel 实例并保存一个工作簿 excel New Object ComObject Excel Application workbook excel Workbooks Op
  • CSS - border-radius 在 IE6/7/8 中不显示

    我使用以下 CSS 在我的 DIV 上实现圆角边框 border 1px solid 999 border radius 6px ms border radius 6px moz border radius 6px webkit borde
  • 使用c# selenium webdriverWait wait.untill()函数时忽略异常

    为了检查元素是否存在并且可点击 我尝试编写一个布尔方法 该方法将等待元素启用并使用 C selenium webDriverWait 显示 如下所示 webDriverWait wait new webDriverWait driver t
  • 按值对哈希表进行排序

    如果我有一个哈希表 并且我想按值对其进行排序 即 按降序排列的整数 我怎样才能做到这一点并能够打印所有键值对 传输为列表并排序 public static void sortValue Hashtable
  • 关于范围的变量的最佳声明

    我问这个问题主要是关于 C 编程 但欢迎对任何语言的见解 当谈到 C 时 我知道它只允许变量声明出现在代码块的最开始处 我的印象是 应该在函数的一开始就声明函数中要使用的所有变量 但在很多情况下 我都会有一个仅在循环 或类似块 中使用的变量
  • C# 引用变量的内存分配

    有谁知道创建引用类型变量时占用了多少内存 字符串 s 123 s 作为引用 而不是指向它的数据 会占用多少内存 这可以按以下方式细分 String s 123 变量s 这将消耗当前架构上的本机指针大小 如果操作系统是 32 位或进程在 Wo
  • 如何使用 PHP 检测爬虫/蜘蛛?

    如何使用 PHP 检测爬虫 蜘蛛 我目前正在开发一个项目 需要跟踪每个爬虫的访问情况 我知道您应该使用 HTTP USER AGENT 但我不太确定如何为此目的格式化代码 并且我知道 USER AGENT 可以很容易地更改 所以我还想知道是
  • 如何强制 Java 子类定义 Annotation?

    如果一个类定义了一个注释 是否可以强制其子类定义相同的注释 例如 我们有一个简单的类 子类对 它们共享 Author interface 我想做的是强制每个进一步的子类定义相同的 Author注释 防止RuntimeException沿着路
  • 如何使用 SAM 部署来获取 lambda,以及 AutoPublishAlias 和其他别名

    我的目标是额外SAM deploy调用将导致 staging 别名反映最新版本 并且 live 将通过外部方式更新 但必须初始化为部署时创建的相同版本 我正在使用 SAM 部署 并且需要 lambda 上的别名 在初始模板中添加它们很棘手
  • 刷新片段不再起作用?

    今天我损失了几个小时 因为我的代码不再工作 更新到新版本的支持库 25 1 0 后 重新加载片段视图的代码不再起作用 这是我的代码 FragmentManager manager getActivity getSupportFragment
  • 使用 Pyramid 对所有 HTTP 流量进行压缩

    我正在创建基于金字塔框架的移动服务 因为它是移动的 所以减少带宽使用是有利的 我正在考虑压缩所有流量 甚至是动态 HTML 页面 Pyramid 框架为此提供了什么样的钩子 或者是否有用于该任务的 WSGI 中间件 我仍然想在 Python
  • 使用分治法从给定列表中查找第二小的数字

    我正在努力解决这个问题 给定一个包含 n 个数字的列表 我们希望找到最小的和第二小的 列表中的数字 描述一个分而治之的算法来解决这个问题 假设整数 k 为 n 2 k 使用您的算法的比较次数应该 即使在最坏的情况下 也不会超过 3n 2 2
  • WinForms - 哪种是保存某些数据最简单的方法?

    刚刚构建我的第一个 WinForms 应用程序 问题 在使用应用程序之间保存一些数据的最简单 最佳方法是什么 例如 在本例中包含状态和日期 时间的 URL 列表 我认为不需要数据库 例如 仅仅存储到文本文件是最简单的吗 或者在 DotNet
  • UseWindowsAzureActiveDirectoryBearerAuthentication 如何验证令牌?

    我按照下面的 GitHub 示例来实现跨 WebApp 和 WebApi 的身份验证机制 https github com AzureADSamples WebApp WebAPI OpenIDConnect DotNet 我正在为 Web
  • Angular 圆形模块导入

    我有两个模块 其组件相互使用 所以我必须在 test 中导入 word 在 word 中导入 test gt 抛出错误 我该怎么办 模块 测试 NgModule declarations AppTest1Component AppTest2
  • Websphere 所有日志都将转到 SystemOut.log

    我在我的应用程序中使用 Log4j 并有一些用于调试和错误的附加程序 我在tomcat上测试过 工作正常 在各自的文件中生成所有日志 但是当我在 WAS6 1 上部署代码时 所有日志仅在 SystemOut log 内生成 请帮忙 问题可能
  • VS 11 Beta 无法启动进程,因为尚未提供文件名

    这是我构建测试项目时得到的结果 这样我就无法运行我的测试 因为 VS 没有发现它们 查看留言 Unexpected error detected Check the Tests Output Pane for details 在窗口底部 现
  • 我怎样才能让 gitbash 找到 javac 命令?

    我创建了我的 git 存储库并提交了它 插入一个java文件并想要编译它 但它给了我这个 Bernard BERNARD PC c users bernard desktop git2 master javac TestGUI java s
  • Clang 链接器问题(从源代码到 gcc-snapshot)

    我似乎无法让它发挥作用 我配置了 with gcc toolchain 在 equals 之后我把 gcc 所在的目录 usr lib gcc snapshot bin 我还查看了 clang 链接器问题 但我不知道如何获得接受的答案来找到