linux下gcc 4.8.5和7.5并存

  有些软件依赖于c++ 14甚至c++ 17的特性,比如libpqxx 6.4.8版本就需要4.9以上版本,4.8.5不可以,会下列错误,

  invalid initialization of non-const reference of type ‘pqxx::connection_base&’ from an rvalue of type ‘<brace-enclosed initializer list>’    m_open{C.is_open()}

  参见https://github.com/jtv/libpqxx/issues/336,而生产软件可能是基于c11或c++11的,只需要4.8即可,为了保证稳定,所以主要还是以4.8为主,三方库则根据新版本编译。但是这不影响使用,我们在c++11主程序中动态链接c++ 14的libpqxx。

  7.3源码安装可以参见:https://www.jianshu.com/p/ca30d2b61fdc。

  rhel提供了devtoolset7可以通过沙箱环境提供单独的gcc 7.3环境,scl enable devtoolset-7 bash参见https://support.huawei.com/enterprise/zh/knowledge/KB1100063847/?idAbsPath=23710424|251364417|9856629。https://zhuanlan.zhihu.com/p/535657060?utm_id=0.

posted @   zhjh256  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示