我有一个包含Geos和Proj的项目.在Xcode 5之前,我使用LLVM GCC 4.2编译器编译它们,但在Xcode 5 DP中,我收到有关不支持的编译器的错误.选择另一个编译器获取编译错误取决于语法.我该如何解决这个问题呢?
如果我使用llvm-gcc构建一个静态库,然后将它与使用mingw gcc编译的程序链接,结果是否有效?
对于llvm-gcc,clang和普通gcc的其他组合也是如此.我对如何在Linux(当然使用普通的非mingw gcc)和其他平台上工作感兴趣,但重点是Windows.
我也对所有语言感兴趣,但强调C和C++ - 显然clang不支持Fortran等,但我相信llvm-gcc会这样做.
我假设它们都使用ELF文件格式,但是调用约定,虚拟表格布局等呢?
我正在寻找相当于gcc的-D标志的LLVM(或clang),它在命令行启用宏定义.
任何指针都会很棒.
我试过pip和easy_install,但是我一直收到以下错误:错误:命令'/ usr/bin/llvm-gcc'失败,退出状态为1
我正在运行OSX Lion,并且使用Python 2.7.2在virtualenv中运行安装.
提前致谢.
我有一个64位版本的llvm-gcc,但我希望能够构建32位和64位二进制文件.这有旗帜吗?我尝试传递-m32(适用于常规gcc),但我收到如下错误信息:
[jay@andesite]$ llvm-gcc -m32 test.c -o test
Warning: Generation of 64-bit code for a 32-bit processor requested.
Warning: 64-bit processors all have at least SSE2.
/tmp/cchzYo9t.s: Assembler messages:
/tmp/cchzYo9t.s:8: Error: bad register name `%rbp'
/tmp/cchzYo9t.s:9: Error: bad register name `%rsp'
...
Run Code Online (Sandbox Code Playgroud)
这是倒退; 我想为64位处理器生成32位代码!
我正在运行llvm-gcc 4.2,这是Ubuntu 9.04 x86-64附带的.
编辑:当我使用-v标志运行llvm-gcc时,这是输出的相关部分:
[jay@andesite]$ llvm-gcc -v -m32 test.c -o test.bc
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../llvm-gcc4.2-2.2.source/configure --host=x86_64-linux-gnu --build=x86_64-linux-gnu --prefix=/usr/lib/llvm/gcc-4.2 --enable-languages=c,c++ --program-prefix=llvm- --enable-llvm=/usr/lib/llvm --enable-threads --disable-nls --disable-shared --disable-multilib --disable-bootstrap
Thread model: posix
gcc version …Run Code Online (Sandbox Code Playgroud) 我正在编写一个交叉编译,为此我需要找到Xcode放置arm-gcc compiller的位置.
它曾经在/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2中,但在Xcode 5中已经消失了.
有任何想法吗?
就在几天前,我发现并使用了Kenneth Reitz的OSX-GCC-Installer来解决在Mac上通过RVM安装Ruby 1.9.3的问题.
今天我在Kenneth的博客上阅读了关于Xcode软件包的命令行工具的信息,Apple于昨天为Lion用户添加了官方开发人员工具套件.
我尝试将安装的软件包的数量保持在最低限度,因此,如果有这个替代方案,那么删除OSX-GCC-Installer添加的内容的安全方法是什么?
我正在研究一个我用LLVM 2.6和llvm-gcc前端编译的项目.我正在尝试使用LLVM 3.1和clang来测试它.当我这样做时,我得到以下关于-O5优化级别的错误消息:
error: invalid value '5' in '-O5'
Run Code Online (Sandbox Code Playgroud)
但是,LLVM 2.6和llvm-gcc在-O5标志上运行良好.我看到了关于Clang优化级别的以下文档:
-O0 -O1 -O2 -Os -O3 -O4
Specify which optimization level to use. -O0 means "no optimization": this level compiles the
fastest and generates the most debuggable code. -O2 is a moderate level of optimization which
enables most optimizations. -Os is like -O2 with extra optimizations to reduce code size. -O3
is like -O2, except that it enables optimizations that take longer to perform or that may
generate …Run Code Online (Sandbox Code Playgroud) LLVM GCC 4.2和Apple LLVM编译器3.1之间的主要区别是什么?
我对编译器很新,所以任何帮助都表示赞赏.此外,我对这两个编译器如何影响游戏性能特别感兴趣.
我正在尝试在Mac上编译C应用程序.我使用SSE4和AES-NI内在函数.
在Linux中,我只使用-msse4和-maes标志调用gcc并包含wmmintrin.h标头,我可以调用SSE内在函数_mm_add_epi64(a,b)或AES-NI内在函数,_mm_aesenc_si128(a, b)并且一切正常.
在Mac上,它更难,因为Apple用llvm-gcc替换了GCC,而llvm-gcc还不支持AES-NI.因此SSE4内在函数工作正常,但不是AES.即使是对AES指令的内联汇编调用也无法识别.
英特尔在他们的网站上有很多AES示例代码,但它仅适用于Linux和Windows.
我注意到llvm-gcc也不支持RDRAND指令,但英特尔通过使用扩展为原始机器字节代码的C宏为此提供了解决方法.(请参阅此英特尔库中的rdrand.h示例文件)
遗憾的是,AES-NI指令没有类似的解决方法,可能是因为指令有参数而不能作为静态机器代码字节进行求值.
在Mac上使用AES-NI的程序确实存在,包括Apple自己的File Vault,因此必须有一些方法可行!
为了使我的问题具体化,我将如何使用最新的Mac gcc-llvm 4.2(Mountain Lion xcode 4.4.1中的最新公开发布)进行以下简单调用:
__m128i A, B, C;
/* A, B, C initialized here... */
A = _mm_aesenc_si128(B, C);
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!