尝试在Mac OS Sierra上使用LLVM 4.0.0版本(Clang,LLD)链接一个简单的程序.注意,这在Linux中是完全可以实现的.
我当前的路径以LLVM的bin目录为前缀(即/opt/LLVM/4.0.0/bin:$PATH.
program(main.cpp)是最简单的C++应用程序:
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
发出的shell命令是:clang -fuse-ld=lld.
这会因以下错误而失败:
/opt/llvm/4/bin/ld.lld: error: unknown argument: -no_deduplicate
/opt/llvm/4/bin/ld.lld: error: unknown argument: -dynamic
/opt/llvm/4/bin/ld.lld: error: unknown argument: -arch
/opt/llvm/4/bin/ld.lld: error: unknown emulation: acosx_version_min
/opt/llvm/4/bin/ld.lld: error: unable to find library -lto_library
/opt/llvm/4/bin/ld.lld: error: /opt/llvm/4/lib/libLTO.dylib: invalid data encoding
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
使用-v开关,我看到这个链接器命令(格式化):
"/opt/llvm/4/bin/ld.lld" \
-demangle \
-lto_library /opt/llvm/4/lib/libLTO.dylib \ …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Clang 构建 CPython,具有非常具体的要求:
我尝试将 env 变量设置CC为我的 clang 可执行位置(即/opt/llvm/5/bin/clang,但该./configure命令失败并显示以下内容:
configure: error: C compiler cannot create executables
我应该设置哪些标志才能使此构建工作?