iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – clang(3.3 / Xcode)中std :: function的定义在哪里大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

解决的问题=>最后看到更新 我正在尝试使用std :: function但它看起来只是包含< functional>没有提供定义.我试图编译以下代码: #include <functional> std::function<int(int)> f = nullptr; 用c 11作为编译选项: % clang++ -c -std=c++11 t.cc 原因: t.cc:3:6: error: no
解决的问题=>最后看到更新

我正在尝试使用std :: function但它看起来只是包含< functional>没有提供定义.我试图编译以下代码

#include <functional>
std::function<int(int)> f = nullptr;

用c 11作为编译选项:

% clang++ -c -std=c++11 t.cc

原因:

t.cc:3:6: error: no type named 'function' in namespace 'std'
std::function<int(int)> f = nullptr;
~~~~~^
t.cc:3:14: error: expected unqualified-id
std::function<int(int)> f = nullptr;
             ^
2 errors generated.

我错过了什么?我知道C很好但是对clang / C 11来说很新,因此我猜想我缺乏重要的知识.

我在MacOS X 10.8上使用clang.

更新1

我试a sample at cppreference.com site但它也不会编译.提供一些选择解决问题?

更新2

尝试使用clang -c -std = c 11 -stdlib = libc 11 x.cc从cppreference.com上面的示例,编译器仍然说:

x.cc:1:10: Fatal error: 'functional' file not found
#include <functional>
         ^
1 error generated.

哪里有@L_696_5@?我想我应该给-stdlib = libc 11或者其他什么,但它也不起作用:

clang: error: invalid library name in argument '-stdlib=libc++11'

我如何找到-stdlib的参数列表? (注意:在手册页中,只有可用的选项是libc和libstdc,它们都不起作用)

或@L_696_5@只是不起作用?

解决方法

对于C 11,最好始终调用clang为:clang -std = c 11 -stdlib = libc

我大部分时间都使用它,所以我将环境变量$CXX设置为此值.这样,我在编译和链接中都获得了方言和库选项. -std = c 11不足,因为clang仍将使用/usr/include / c /4.2.1中的(旧)系统gcc头.

-stdlib = libc将使用/usr/lib / c / v1中的clang头,例如< functional>.

一个similar question,答案是HoWARD Hinnant,他是(IIRC)的Apple工程师.

大佬总结

以上是大佬教程为你收集整理的c – clang(3.3 / Xcode)中std :: function的定义在哪里全部内容,希望文章能够帮你解决c – clang(3.3 / Xcode)中std :: function的定义在哪里所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。