首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译Glog时出错

编译Glog时出错
EN

Stack Overflow用户
提问于 2014-05-08 06:21:03
回答 1查看 3.1K关注 0票数 0

我在编译glog时遇到了一个问题,我运行了“make”,然后我得到了一个错误:

架构的未定义符号:"testing::internal::StrStreamToString(std::__1::basic_stringstream,std::__1::allocator >)",参考来源::testing::String::in::StreamableToString(void&) in logging_unittest -日志_unittest.o测试::-v测试::-v::StreamableToString(int const&) in for _unittest-日志_unittest-for_unittest.ld:符号(S)在体系结构中找不到:错误:链接器命令与退出代码1(使用-v查看)调用:*logging_unittest错误1

我正在Mac上使用glog-0.3.3,那么在编译glog时,我如何才能改变测试呢?

在另一个上下文中,我使用Macport安装了glog和g阻隔,然后运行了一个小程序。它将生成一个错误:" error :未知命令行标志'logtostderr'“

我相信这就是链接到旗子的问题所在。那我该怎么解决呢。谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-09-13 15:30:47

GLog需要编译在"google“命名空间中的GFlags,而不是现在默认的”GLog“命名空间。

为了设置这个名称空间,您必须从源代码编译并安装g频标志,并将GFLAGS_NAMESPACE变量设置为"google“。

下面是我在Kubuntu14.04中遵循的步骤,应该类似于在Mac中应该做的事情。这些文件将GFlags源代码放在/usr/local/src中,并将库安装在/usr/local/lib&包括目录中。最后一个命令(ldconfig)在系统中注册库。

代码语言:javascript
复制
cd /usr/local/src/
cp /path/to/downloaded/gflags-2.1.1.tar.gz .
sudo tar xzf gflags-2.1.1.tar.gz
cd /tmp
mkdir buildgflags
cd buildgflags
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON \
-DGFLAGS_NAMESPACE=google -G"Unix Makefiles" /usr/local/src/gflags-2.1.1/
make
sudo make install
sudo ldconfig

或者,您可以在GLog源代码中应用以下修补程序(附在最后一个答复中):

https://code.google.com/p/google-glog/issues/detail?id=194

它基本上是在GLogs单元测试源文件中的includes之后使用g标志的命名空间,如下所示:

代码语言:javascript
复制
#ifdef HAVE_LIB_GFLAGS
#include <gflags/gflags.h>
using namespace gflags;
#endif
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23534181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档