Clang依赖MinGW为什么能编译不能运行?

方小葱 发布于 2013/11/02 11:43
阅读 934
收藏 0

Linux基金会免费官方培训及考试申请即将截止,戳这里申请!>>>

std::string str = "Hello Clang";

std::printf("%s\n",str.c_str()); 

这样的代码为何Clang能编译,却运行不了?运行时错误很显然表明了程序读了"不可读/或者没权限"的内存!

环境:XP;MINGW/GCC编译的Clang3.3!Clang依赖MinGW!

另外MSVC/和GCC都能编译运行!

Clang出了什么问题?


加载中
0
Lelouchcc
Lelouchcc

我觉得可能是因为stl的关系,编译能过是因为有.h的接口文件,但没有适合mingw运行的stl实现,so,无法运行。。

比如我自己用clang编译cpp

clang++ -Wall -g -std=c++11 -stdlib=libc++ checkSize.cpp -o checkSize 

我有特地指定c++标准和 c++的库

方小葱
方小葱
你是MAC平台么?libc++在WIN上会不会有问题?我发现WIN上Clang好像使用G++作为后端的!4.7.2版的GCC没有-stdlib参数的,默认应该使用GCC的libstdc++!
返回顶部
顶部