我有一个巨大的C + + 11项目插件function。 我的项目有几个库(用gcc 4.6.3编译),一个前端(用gcc 4.6.3编译)和一些插件(用gcc 4.7编译)。 插件通过dlopen加载,并从libs中引用。
我的项目使用模板,typeinfo,shared_ptr,stl容器等东西。
当我编译与gcc相同版本的所有东西时,一切运行正常。 当我按照我所描述的方式(4.6.3中的libs和frontend和4.7中的插件)编译时,我开始面临问题。
我不确定发生了什么,希望你能给我一些线索,帮我解决这个问题。
当subprocess终止时理解SIGCHLD
如何使用Valgrind检测细分故障细节?
C#,Windows窗体,LinkLabel列
通过c ++更改我的dynamicIP地址
有没有办法让UDP .net套接字在套接字closures时释放绑定端口?
如何将事件处理程序添加到桌面窗口?
SWIG教程的问题
如何在内核空间中使用netfilter钩子来路由拆分的数据包
设置进程调度程序的框架
WaitForSingleObject和max。 等待线程
G ++ 4.6与4.7兼容,不管人们在这里声明什么,只要在运行时使用libstdc ++。就可以使用最新版本来构建任何对象。
但是对于C ++ 11而言,由于支持仍在不断发展(至今为止,C ++ 11也是这样),因此我们无法避免做出一些不兼容的更改以提高对C ++ 11的支持。
有关您的问题的更详细的答案发送到gcc-help邮件列表,我会研究它
从http://gcc.gnu.org/gcc-4.7/changes.html :
GCC版本4.7.0和4.7.1已经改变了C ++标准库,影响了C ++ 11模式下的ABI:一个数据成员被添加到std :: list中,改变了它的大小并且改变了一些成员函数的定义, std :: pair的移动构造函数是非平凡的,它改变了std :: pair参数或返回类型的调用约定。 对于GCC版本4.7.2而言,ABI不兼容性已得到修正,但因此,使用GCC 4.7.0或4.7.1编译的C ++ 11代码可能与用不同GCC版本编译的C ++ 11代码不兼容,并且与C ++ 98 / C ++ 03代码与任何版本编译。
我有std :: list <>的问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。