问题标签 [llvm-clang]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
compiler-errors - MAC OS X 上用于 Eclipse CDT 的 LLVM-Clang
通过 Eclipse 编译 LLVM-Clang 时遇到问题。只需在 CDT 默认提供的 hello world 示例上对其进行测试。它给出以下错误:
clang++ -O0 -emit-llvm -g3 -Wall -c -fmessage-length=0 -o src/Test.bc ../src/Test.cpp
llvm-ld -v -native -o Test src/Test.bc
内部生成器:无法运行程序“llvm-ld”:未知原因
错误:在 PATH 中找不到程序“llvm-ld”PATH=[/usr/bin:/bin:/usr/sbin:/sbin]
发生构建错误,构建停止
我不确定它为什么抱怨 PATH 因为我可以通过终端调用 clang++ 和 llvm-ld 命令就好了。事实上,当我通过终端输入上述内容时,我收到以下错误。
clang++ -O0 -emit-llvm -g3 -Wall -c -fmessage-length=0 -o src/Test.bc ../src/Test.cpp
llvm-ld -v -native -o Test Debug/src/Test. bc
链接位码文件“Debug/src/Test.bc”
llvm-ld:错误:无法加载文件“Debug/src/Test.bc”:无法加载位码文件“Debug/src/Test.bc”:未知类型在类型表中
所以这可能不是 Eclipse 问题?从来都不是命令行编译专家,所以我的知识有限。
我正在运行狮子。通过 XCode 命令行工具安装 clang。通过 Macports 安装 LLVM。不得不手动设置我的 LLVM 路径。
Clang -v 说 3.1
LLVM 是 v3.0
c++ - LLVM 中编译单元的正确抽象是什么?
在 LLVM 中,我们有LLVMContext
,它是存储单元,我们有llvm::Module
,它是构建新符号(函数和类型)的地方。
我的问题是;用于编译单元的正确 llvm 抽象是什么?是Module
?还是这实际上意味着更大的范围,即:共享库目标
在我看来,编译单元必须满足全有或全无的结果;它要么编译所有内容而没有错误,要么存在错误并且需要在 CU 中的任何符号可用之前对其进行修复和重新构建。在我看来,这是编译单元应该代表什么的定义
如果模块是 CU 的正确抽象,我如何将其他(正确编译的)Module
对象中的符号呈现给即将构建的新模块,以便它能够找到那些?我需要添加声明还是有其他加速方法?
指向相关行clang
会很有帮助
python - 使用 clang 构建 CPython 调用 /usr/bin/ld 作为最终链接,并获得“/usr/bin/ld: error: libpython3.2m.a: malformed archive header name at 8”
我正在尝试使用 llvm 的 clang 构建 CPython 3.2。它可以使用 gcc 构建。我在 Linux Mint 12 上。
编译似乎运行良好,直到最后,它尝试生成 ./python 二进制文件。我得到的错误是:
我已经尝试使用我可信赖的 Linux Mint 12 .deb 存储库中的 llvm 2.9,以及今天早些时候的 llvm SVN 主干,但两者都给出了相同的错误。
我突然想到,如果我可以说服 clang 使用 llvm-link 而不是 /usr/bin/ld 进行链接,事情可能会更好,但我在文档中看不到如何做到这一点。只是将 $LD 设置为 llvm-link 似乎没有帮助。
那些未定义的引用可能是红鲱鱼:如果我 nm -o libpython3.2m.a (或 llvm-nm -o libpython3.2m.a - 两者都有效),我可以看到这些符号中至少有一个确实被定义了(根据当然是纳米 - 其他工具可能并且可能确实有其他想法)。
最终,我想生成 llvm 位码而不是 ELF 二进制文件,但首先获得具有 llvm 的工作 python ELF 二进制文件将是一个令人满意的迷你里程碑。
我目前正在使用以下内容进行编译:
谢谢!
clang - 更新 Xcode 4.3 以使用更新的 Clang
如何配置 Xcode 4.3.2 以使用树干尖 Clang(或任何迟于 Xcode 4.3.2 附带的 Clang 的 Clang)?
clang - LLVM 和 CLANG - 一般信息
我实际上需要 CLANG 工具。请让我知道我是否可以从 GCC 4.1.2 构建 CLANG,或者我需要 LLVM。如果是这样,GCC 4.1.2 会构建 LLVM 和 CLANG 吗?
我还需要一些源到源的翻译(C++ 代码美化 - 在两者之间插入新代码和注释)参考 - 如果可能,请提供一些参考示例?
我的观察是通过 svn / git 从他们的官方网站下载 LLVM / CLANG 非常耗时。仅下载 5% 的代码大约需要 1 小时。我需要部署什么 tar 文件才能克服这个问题?
提前致谢
gcc - 如何使用多个 GCC - LLVM 和 clang
在我的盒子里,我们以 root 用户身份安装了 GCC 4.1.2,但要编译 LLVM 和 clang,我需要更高版本的 GCC。所以我在我的本地目录中下载并安装了 GCC 4.5.0。
如何使现有程序引用 GCC 4.5.0 库和包含。
只是设置系统 PATH 对我有帮助,还是我需要为现有代码做任何其他事情来引用 GCC 4.5.0 套件?
gcc - 编译器-RT CLANG LLVM
我有 GCC 4.1.2 并且喜欢使用这个 GCC 编译器版本来构建 CLANG / LLVM。我需要源到源翻译库,以便我可以根据某些要求修改现有的源代码。
最初我遇到了有关 usr/lib64/libstdc++.so.6 的问题:在 LLVM / CLANG 制作期间找不到版本“GLIBCXX_3.4.9”。所以在下载并构建 GCC 4.5.0 并安装在本地路径中。我发现 GCC 4.5.0 的 libstdc++.so.6 有 GLIBCXX_3.4.9 版本。由于我想使用 GCC 4.1.2 进行编译,因此我将动态库路径设置为:
并在“make clean”之后再次说明make。现在该错误没有发生。
但是,我在编译“Compiler-RT”模块时遇到了问题。我不确定需要 Compiler-RT 模块的目的是什么,但 LLVM 和 CLANG 似乎编译得很好。
我是否可以从下载、构建和安装中排除 Compiler-RT:
仅构建 LLVM 和 Clang
将我的共享库路径设置为使用 GCC 4.5.0 的 libstdc++.so.6 是否正确,并且 Compiler-RT 是使用 CLANG / LLVM 下载和构建它的强制步骤
我在这里找到了这个示例代码 - 我需要 Compiler-RT - 我没有看到相同的引用,但只是想确认一下?
c++ - Clang 3.1 C++11 用户定义文字不起作用
我在使用 XCode 4.5 DP1 安装附带的 Clang 3.1 的 C++11 用户定义文字时遇到问题
编译器看起来支持它们,我可以定义一个新的文字。我可以直接调用文字函数,但是当我在代码中使用文字时,会出现编译器错误。
在 Xcode 上自动完成甚至在字符串后输入下划线时建议我的新文字:D
这是代码:
我收到以下错误:
这是 clang 的版本信息
感激地收到任何帮助:)
gcc - 使用 Clang 进行基本的源到源转换
我已成功构建示例代码
现在我有一个要求,如果我有如下示例代码:
代码应转换为
我尝试了以下代码更改:
但输出如下:
请让我知道如何实现目标?
我也得到如下输出:
如何停止代码呈现相同的内容?只是复合块中的语句应该添加额外的语句。
objective-c - 在Objective-C中乘以预处理器常量
假设我有以下预处理器定义
#define MYNUMBER 10f;
然后我想在我的代码中使用它,如下所示:
当我这样做时,Xcode 认为我试图*
用作一元指针标记而不是乘号,并导致错误。定义这样一个常数并在乘法表达式中使用它的正确方法是什么?