Gra*_*and 6 c c++ macos linker clang
我有一个包含C和C++源混合的项目.它目前在OS X上使用GCC构建.该项目具有定制的构建脚本,该脚本调用gcc命令来编译C和C++源,并单独调用链接器.
我现在正试图让它与Clang建立.
调用clang确实正确编译源文件; 它区分.c和.cpp源文件,并在每种情况下编译适当的语言.不过,我在链接时遇到了问题.当调用链接器时clang,C++运行时库未链接,导致由于缺少符号而导致生成错误.
当我设置clang++为构建工具时,我可以成功链接,但这会导致编译时错误和警告; 它真的不喜欢用C++编译器编译C源代码.
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
...
/usr/include/stdio.h:250:49: error: redefinition of parameter 'restrict'
Run Code Online (Sandbox Code Playgroud)
我必须为构建脚本指定一个工具来用作编译器/链接器,所以我需要做一个简单的替换clang代替gcc.有什么方法可以说服clang(不clang++)与C++运行时库链接?
选项如-stdlib=libc++不起作用.
你应该能够使用普通的链接器标志,就像你对gcc一样:clang -lc++或者clang -lstdc++取决于你想要的实现.(你应该想要libc ++)
| 归档时间: |
|
| 查看次数: |
8699 次 |
| 最近记录: |