代码改变世界

编译用到boost相关的东西,问题的解决;以及和googletest库

2016-09-07 11:01  tangxiaosheng  阅读(1102)  评论(0编辑  收藏  举报

编译https://github.com/RAttab/reflect,

发现需要gcc4.7以上的版本才行.于是编译安装最新的gcc-6.2.0, 过程算顺利. http://www.linuxfromscratch.org/blfs/view/svn/general/gcc.html

还需要cmake,只能下载源码编译安装(git...). 

boost可以通过yum方式安装 boost boost-doc boost-devel

 

另外还需要编译 https://github.com/Cylix/Reflex

编译rattab时,有错误: 

/usr/include/boost/test/unit_test_suite_impl.hpp:255: undefined reference to `_ZN5boost9unit_test9ut_detail24normalize_test_case_nameB5cxx11ENS0_13basic_cstringIKcEE'
collect2: error: ld returned 1 exit status

https://github.com/scantailor/scantailor/issues/166 中有解决方案,

在CMakelist.txt中添加:

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0"), 于是就解决问题了.

 

编译cylix时,说链接有问题,本来按照googletest官网介绍,把libgtest.a拷贝到/usr/lib64. 后来check下,灵机一动,用cmake . && make 的方式,发现编译出的libgtest.a大小和先前编译出来的大小不一样,是更大了.于是更换libgtest.a, 终于编译成功.