macos - 找不到架构 x86_64 编译错误的 LLVM OS X 符号

标签 macos compilation llvm clang

我已经成功编译了 LLVM kalidoscope C中的例子。

现在我正在扩展代码:

#include "llvm/Support/CommandLine.h"

static cl::opt<std::string> InputFilename(cl::Positional, cl::desc("<input file>"), cl::Required);

int mail(...

现在我编译使用:

clang++ -g toy.cpp llvm-config --cppflags --ldflags --libs all -O3 -o 玩具

在此更改后,我收到以下错误:
Undefined symbols for architecture x86_64: "typeinfo for llvm::cl::GenericOptionValue", referenced from: typeinfo for llvm::cl::OptionValueCopy<std::string> in toy-Pq1GSI.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
可能有什么问题,我该如何解决?

版本:
clang++ -v Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn) Target: x86_64-apple-darwin12.2.0 Thread model: posix


brew info llvm llvm: stable 3.2 (bottled), HEAD http://llvm.org/ /usr/local/Cellar/llvm/3.2 (628 files, 106M) * https://github.com/mxcl/homebrew/commits/master/Library/Formula/llvm.rb
==> Options
--all-targets   Build all target backends
--universal     Build a universal binary
--rtti  Build with C++ RTTI
--shared    Build LLVM as a shared library
--with-clang    Build Clang C/ObjC/C++ frontend
==> Caveats Extra tools and bindings are installed in /usr/local/Cellar/llvm/3.2/share/llvm and /usr/local/Cellar/llvm/3.2/share/clang.

最佳答案

似乎将编译命令更改为此是一个修复:

clang++ -g toy.cpp llvm-config --cxxflags --ldflags --libs -O3 -o toy

关于macos - 找不到架构 x86_64 编译错误的 LLVM OS X 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14140570/

相关文章:

启动 PyCharm CE 时无法打开 Python

c++ - 为什么这个简单的 getInteger 函数会导致流失败?

c - Frama-C:在 Cygwin/Windows 8.1 上编译

c++ - 哪些编译器支持在运行时固定大小的数组,哪些编译器不支持?

arm - 用 LLVM 解释 ARM/MachO 进行分析和优化?

macos - 将所有 NSWindows 捕获为事件图像,例如 Mac OS X 中的 Mission Control

java - 在 OS X 上的 Java swing 中设置默认应用程序图标图像

compilation - 汇编文件、目标文件和二进制文件有什么区别?

ios - 我需要哪个版本的 LLVM 和 XCode 才能在 Objective-C 中使用 Array Literal Syntax?

c++ - 不链接编译