我正在使用cmake(The Blender Cycles渲染器库)编译的Ubuntu上的C ++ GCC项目中的外部库进行链接: concrete implementation
我的本地代码需要C ++ 11,所以我设置-std = c ++ 11。但是这导致了大量令人讨厌的运行时崩溃,因为我链接的库没有这个集合,如果__cplusplus版本不同,那么这个代码会使二进制不兼容(std :: mutex和boost :: mutex是不同的大小):
mix test
如果我进入Cycles库的Cmake文件并手动添加C ++ 11标志,一切都很好,但这看起来很糟糕。当我重建外部库而不更改外部makefile时,是否有强制GCC从命令行或GCC环境使用更高版本的编译器版本?