小编tru*_*ruf的帖子

提升:位置参数的无法识别的选项

我正在尝试用boost 1.58.0解析命令行.我的代码非常简单,可以从教程中复制\粘贴.它看起来像这样:

 try {
        po::options_description desc;
        desc.add_options()
                ("version,v", "Display version of application.");

        po::positional_options_description p;
        p.add("input-file", -1);

        try
        {
            po::store(po::command_line_parser(argc, argv).
                      options(desc).positional(p).run(), vm);

            if ( vm.count("version")  )
            {
                std::cout << "Program version: " << SHUF_T_VERSION << std::endl << "Boost library version: " << BOOST_LIB_VERSION << std::endl;
                return false;
            }

            po::notify(vm); // throws on error, so do after help in case
            // there are any problems
        }
        catch(po::error& e)
        {
            std::cerr << "ERROR: " << e.what() << std::endl << std::endl;
            std::cerr << …
Run Code Online (Sandbox Code Playgroud)

c++ boost boost-program-options

9
推荐指数
1
解决办法
2431
查看次数

Qt5:Qt Linguist 可再发行

我正在为翻译人员编写手册,但找不到一种简单且正式的 Qt 语言编辑器分发方式。看起来你可以通过下载qttools5-dev-tools包来获得它用于 Linux 。但是对于其他系统呢?
Qt5 在线安装程序似乎没有提供单独的 Linguist 组件供下载,我不确定它是否是 QtCreator 组件的一部分。强制翻译人员安装整个 Qt 框架包甚至 IDE 来获取它是不可行的。我希望在一个包中找到一些可再发行的 Qt5 库 + Qt Linguist 应用程序 + 手册,但在 qt.io 上看不到任何内容。
有什么建议吗?

qt5 qt-linguist

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

GitHub 中的多个分支

我尝试使用以下说明在 github 上创建同一个第三方项目的第二个分支: https:
//adrianshort.org/create-multiple-forks-of-a-github-repo/
不幸的是 github 不允许我为此类“分叉”创建向上游的拉取请求 - 下拉列表中没有此类按钮和上游分支。看起来它根本不认为这是一个分叉——项目图标是不同的。
显然我在本地所做的更改git remote add upstream被 github 服务器忽略了。

有办法解决吗?

我想要的是同一个项目在一个 github 用户帐户下的两个功能齐全(PR 必须有效)的分支。

git github

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

QtCreator构建模式:个人资料

我刚刚升级到最新的QtCreator IDE,发现旧的两种构建模式{release,debug}中有第三种:Profile.有人能指出我对这种新模式与旧模式之间差异的解释吗?
我想它应该与Valgrind函数分析器有关,它通常只需要Release版本.

qt qt-creator

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

在可移植 C 中定义 NaN,没有“错误 C2124:除以零或取模”

我有一个用纯 C 编写的旧遗留代码。它是跨平台的。我需要在其中定义一个 NaN 常量。我的方法是: const double _NAN = 0.0/0.0;
不幸的是,当我尝试在 Win 机器(VS 2022)上构建代码时,我得到了"error C2124: divide or mod by zero".

我很确定 MSVC 编译器有一个参数可以禁用它,但这是一个公共项目,MS VS 只是可用于构建它的 IDE 之一。我不想要求用户更改特定环境中的默认设置。

我想我可以使用 NaN 的十六进制值,但假设我将面对字节序...这意味着我需要以可移植的方式检测字节序。

有没有更好的选择以跨平台方式在 C 中为 double 定义 NaN?

c visual-studio-2022

4
推荐指数
1
解决办法
234
查看次数

插入符号中preProcess的数据插补返回的观察结果少于预期

我想知道为什么用于插入数据集缺失值的R's插入包中的preProcess函数返回的观察数量少于原始数据集中的数量?
例如:

library(caret)

t <- data.frame(seq_len(100000),seq_len(100000))

for (i in 1:100000) 
{
if (i %% 10 == 0) t[i,1] <- NA; 
if (i %% 100 == 0) t[i,2] <- NA 
}

preProcValues <- preProcess(t, method = c("knnImpute"))
Run Code Online (Sandbox Code Playgroud)

preProcValues仅包含2个变量的90000个观测值,而预期值为100000个.

r r-caret

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

变量模板迭代和GCC

我已经根据wiki实现了一个可变参数模板函数.并借助于"重载"终止版本的"函数"来迭代它.代码:

void writeValue(QDataStream& /*data*/) {}

template<typename A, typename... Values>
void writeValue(QDataStream& data, const A& arg1, const Values&... args)
{
    data << arg1;
    writeValue(data, args...);
}

template<typename... Values>
quint32 PrepareMessage(QDataStream& data, func_code fcode, Values... parameters)
{
  data << quint32(fcode);
  writeValue(data, parameters...);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

它可以在没有任何问题的情况下构建和使用,而不是Qt 5.5 for Windows over MSVC2013 64bit工具链.现在,我正在尝试使用Qt 5.5 for Linux在GCC 64位上构建相同的代码,并在编译时遇到以下错误:

g++ -c -pipe -std=c++11 -g -Wall -W -D_REENTRANT -fPIC -D_64bit -DQT_NETWORK_LIB -DQT_CORE_LIB -I../Trans2QuikWrapper -I. -I../../../Qt/5.5/gcc_64/include -I../../../Qt/5.5/gcc_64/include/QtNetwork -I../../../Qt/5.5/gcc_64/include/QtCore -I. -I../../../Qt/5.5/gcc_64/mkspecs/linux-g++ -o moc_T2Q_Client.o moc_T2Q_Client.cpp
g++ -Wl,-rpath,/home/truf/Qt/5.5/gcc_64 …
Run Code Online (Sandbox Code Playgroud)

c++ qt gcc variadic-templates

2
推荐指数
1
解决办法
126
查看次数

C++ passing a templated functor as a template typename

I have a templated function:

template <typename my_func> int foo(int x, int y) {
 my_func bar;
 return bar(x, y);
}
Run Code Online (Sandbox Code Playgroud)

which I can use with following functor:

struct _compare {
int operator()(int x, int y) { return x-y;  }
};
Run Code Online (Sandbox Code Playgroud)

Usage: foo<_compare>(int x, int y)

In fact there is a tight loop in foo and thus i'm trying to pass pointer to functions that can be inlined at compile time.

Now I want to use a function from 3rd party …

c++

2
推荐指数
1
解决办法
66
查看次数

GitHub Actions:CodeQL 分析结果

我已通过网站将 CodeQL 集成到我的 github 项目中。它可以工作、分析并生成 SARIF 文件。然后它说结果已成功上传:

Uploading results
  Processing sarif files: ["/home/runner/work/my_project/results/cpp-builtin.sarif"]
  Uploading results
  Successfully uploaded results
Run Code Online (Sandbox Code Playgroud)

在哪里?我在哪里可以找到这些结果并阅读它们?CodeQL 如何指示发现问题?我的 .yaml 包含:

    - run: |
       sudo -n apt-get install -y autopoint gettext
       autoreconf --install
       ./configure
       make
    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v1
Run Code Online (Sandbox Code Playgroud)

github-actions codeql

2
推荐指数
1
解决办法
1085
查看次数

禁用std:string的SSO

我想知道是否有一种方法可以以编程方式禁用字符串SSO,使其不使用本地缓冲区作为短字符串?
请问,为什么我需要这个.我很好,如果不能关闭只是想确定.

c++ string stdstring

0
推荐指数
1
解决办法
648
查看次数