小编Dea*_*hen的帖子

如何在cmake中添加宏的定义?

我在我的C++应用程序中使用Mongodb客户端和Boost.因为Mongodb客户端仍在使用Boost旧文件系统,而我的C++应用程序正在使用boost 1.47.0中的文件系统版本3,所以它们会发生冲突.

我找到了解决这个编译问题的方法,即在我的cpp文件中来自Boost的头文件的所有include语句之前添加一个宏定义:

#define BOOST_FILESYSTEM_VERSION 2
Run Code Online (Sandbox Code Playgroud)

但我想知道如何将上面的宏定义放入我的CMake项目文件中.

boost cmake mongodb

33
推荐指数
2
解决办法
3万
查看次数

如何关闭或指定nginx错误日志位置?

我自己在Ubuntu上编译了nginx.我用-c nginx.conf参数启动我的nginx.在我的nginx.conf文件中,我尝试关闭错误日志但失败了.

error_log /dev/null crit;
Run Code Online (Sandbox Code Playgroud)

仍然收到错误消息:nginx:[alert]无法打开错误日志文件:open()"/ usr/nginx/logs/error.log"失败(2:没有这样的文件或目录)

我怎么能关掉这个日志或改变它的位置?

nginx

22
推荐指数
2
解决办法
3万
查看次数

在没有Emacs的情况下运行elisp程序?

elisp是一种很好的语言,我发现它可以处理所有类型的工作,但是我可以像shell脚本一样使用它吗?

即从控制台执行一些*.el文件,而不启动Emacs.或者启动Emacs,但不要进入交互模式.

emacs elisp

18
推荐指数
1
解决办法
2129
查看次数

QFile无法识别file:/// url路径格式

我从Qml获取文件路径,如下所示:

mainView.projectFilePath = Qt.resolvedUrl(newProjectFileDlg.fileUrl).toString();
Run Code Online (Sandbox Code Playgroud)

上面的文件路径如下所示:file:/// C:/uuuu.a3

但当这条路径传递给QFile时,它会抱怨

The filename, directory name, or volume label syntax is incorrect
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题呢?

c++ qt qml qurl qtcore

17
推荐指数
3
解决办法
2万
查看次数

如何在boost log 2.0中记录编码器的行号?

我可以使用LineID属性吗?我希望我可以使用sink :: set_formatter来执行此操作而不是使用

__LINE__
Run Code Online (Sandbox Code Playgroud)

__FILE__
Run Code Online (Sandbox Code Playgroud)

在每个日志语句中.

boost-log

9
推荐指数
3
解决办法
3158
查看次数

如何清理nmake生成的obj和lib文件

我在VS 2012控制台中使用nmake来编译GDAL,我想知道哪个命令可以帮我删除上次nmake命令生成的所有文件.

c:\gdal>nmake clean

Microsoft (R) Program Maintenance Utility Version 11.00.60610.1
Copyright (C) Microsoft Corporation.  All rights reserved.

NMAKE : fatal error U1073: don't know how to make 'clean'
Stop.
Run Code Online (Sandbox Code Playgroud)

nmake

7
推荐指数
1
解决办法
9309
查看次数

为什么我的格式在boost日志中不起作用

boost::log在这个函数中使用:

#include <boost/log/core.hpp>
#include <boost/log/trivial.hpp>
#include <boost/log/expressions.hpp>
#include <boost/log/utility/setup/file.hpp>

void InitLog() {
  logging::core::get()->set_filter(logging::trivial::severity >= logging::trivial::debug);
  logging::add_file_log(
            keywords::file_name = AppHolder::Instance().config().log_folder + "/sign_%Y-%m-%d_%H-%M-%S.%N.log",
            keywords::rotation_size = 10 * 1024 * 1024,
            keywords::time_based_rotation = sinks::file::rotation_at_time_point(0, 0, 0),
            keywords::format = "%TimeStamp% (%LineID%) <%Severity%>: %Message%"
            );
}
Run Code Online (Sandbox Code Playgroud)

然后,给出电话:

BOOST_LOG_TRIVIAL(info) << "thread id: " << this_thread::get_id() << " Initialization succeeded";
Run Code Online (Sandbox Code Playgroud)

输出不符合预期:时间戳,行ID严重性为空.

()<>:线程ID:7f58e30e8740初始化成功

c++ boost boost-log

7
推荐指数
2
解决办法
3632
查看次数

执行“ssh localhost”命令时实际发生了什么

今天在阅读介绍如何安装Hadoop的文章时,作者使用:ssh localhost

命令是什么意思?

下面是这篇文章的位置? http://codesfusion.blogspot.com/2013/10/setup-hadoop-2x-220-on-ubuntu.html?m=1

linux ssh

7
推荐指数
1
解决办法
1万
查看次数

为什么我的kafka在一个分区中有消息?

我有两个kafka代理在本地机器上有两个分区,并使用以下工具将一个本地文件写入kafka test2主题.

# create topic
  ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 2 --topic test2
  Created topic "test2".
  # write 15MB file to kafka, very fast!!
  kafka-console-producer.sh --broker-list localhost:9093,localhost:9094 --topic test2 < data.txt
  # read data from kafka
  ./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test2 --from-beginning
Run Code Online (Sandbox Code Playgroud)

然后我发现所有消息都在一个分区中,如何调试呢?

$ kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9093,localhost:9094 --topic test2 --time -1
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    test2:0:68263
    test2:1:0
Run Code Online (Sandbox Code Playgroud)

分区的状态是:

$ kafka-topics.sh --describe --zookeeper …
Run Code Online (Sandbox Code Playgroud)

apache-kafka

6
推荐指数
1
解决办法
1348
查看次数

-std GCC4.8.1的默认值

如果我-std在使用GCC4.8.1编译我的C++应用程序时没有指定选项,它是否默认应用c ++ 11值?

我读了GCC文件中的文字,但仍然不确定.我的英语不好,所以可能是我的坏.

-fext-numeric-literals(仅限C++和Objective-C++)接受虚构,定点或机器定义的文字数字后缀作为GNU扩展.关闭此选项后,这些后缀将被视为C++ 11用户定义的文字数字后缀.对于所有pre-C++ 11方言和所有GNU方言,默认情况下都会启用:-std = c ++ 98,-std = gnu ++ 98,-std = gnu ++ 11,-std = gnu ++ 1y .默认情况下,此选项在ISO C++ 11之后关闭(-std = c ++ 11,...).

c++ gcc c++11

5
推荐指数
1
解决办法
725
查看次数

标签 统计

c++ ×3

boost ×2

boost-log ×2

apache-kafka ×1

c++11 ×1

cmake ×1

elisp ×1

emacs ×1

gcc ×1

linux ×1

mongodb ×1

nginx ×1

nmake ×1

qml ×1

qt ×1

qtcore ×1

qurl ×1

ssh ×1