小编Una*_*dra的帖子

只收藏Git中没有上演的变化

我想做以下工作流程:

  1. 向舞台添加更改.
  2. 存储所有未暂存的其他更改.
  3. 在阶段做一些事情(即构建,运行测试等)
  4. 应用藏匿处.

有没有办法做第2步?

 echo "123" > foo
 git add foo # Assumes this is a git directory
 echo "456" >> foo
 git stash
 cat foo # Should yield 123
Run Code Online (Sandbox Code Playgroud)

git git-stash

193
推荐指数
9
解决办法
4万
查看次数

将CV_32FC1类型的Matrix转换为CV_64FC1

如何转换简历::类型CV_32FC1的垫子类型CV_64FC1(相当于从浮到双的变化)?

我打开一个保存为XML(cvSave)但作为浮点数的矩阵.这意味着该字段<dt>具有f文件中的值.我需要将其更改d为打开它.但我宁愿没有这样做,而是我想直接与双类型的元素打开它作为一个矩阵,或稍后从浮翻一番转换.

下面是我打开文件的代码.

/** Load cv::Mat from XML file. 
 */
cv::Mat loadMat(const std::string filename)
{
    cv::Mat result;
    cv::FileStorage fs(filename, cv::FileStorage::READ);
    fs.getFirstTopLevelNode() >> result;
    return result;
}
Run Code Online (Sandbox Code Playgroud)

double opencv matrix

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

如何在库的特定目录中指向cmake?

我有一个CMake项目,我正在使用一个库,现在我想用不同版本的库来测试我的代码.我可以在下面的例子中设置INCLUDE_DIRECTORIES(以后可能还会链接).但是因为我只想暂时这样做,所以我想用ccmake/cmake-gui手动设置这个路径.

我该怎么做呢?

project(min_example)
cmake_minimum_required(VERSION 2.8)

find_package(OpenCV REQUIRED)
# Without the following line please:
INCLUDE_DIRECTORIES("/home/me/src/opencv/install/include")
add_executable(min_example main.cpp)
target_link_libraries(min_example ${OpenCV_LIBS})
Run Code Online (Sandbox Code Playgroud)

cmake

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

将函数输出重定向到/ dev/null

我正在使用正在向cout或打印警告消息的库cerr.我不希望此警告消息到达我的程序的输出.如何捕获此输出并将其输入/dev/null或类似?

MWE:

#include <iostream>

void foo()
{
    std::cout << "Boring message. " << std::endl;
};

int main()
{
    foo();
    std::cout << "Interesting message." << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出应该是:

Interesting message.
Run Code Online (Sandbox Code Playgroud)

main该如何修改以获得所需的输出?(foo不得更改.)


我尝试使用freopen()fclose(stdout)按照此问题中的建议如何将stdout重定向到Windows应用程序中的某些可见显示?.结果是没有打印任何内容.

c++ stdout

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

将选择行复制到新矩阵中

我想按顺序将矩阵A的第0行,第2行和第4行复制到B中.设A = [a0,a1,a2,a3,a4] ^ T,a_i为行向量,则B应为:[a0,a2,a4] ^ T.

下面的代码做我想要的但我想知道是否有更漂亮的解决方案(可能使用Eigen)?

#include <iostream>
#include <vector>
#include <opencv/cv.h>


int main(int argc, char **argv) {
    const int num_points = 5;
    const int vec_length = 3;
    cv::Mat A(num_points, vec_length, CV_32FC1);
    cv::RNG rng(0); // Fill A with random values
    rng.fill(A, cv::RNG::UNIFORM, 0, 1);
// HACK Ugly way to fill that matrix .
    cv::Mat B = cv::Mat(3,vec_length, CV_32FC1);
    cv::Mat tmp0 = B(cv::Rect(0,0,vec_length,1));
    cv::Mat tmp1 = B(cv::Rect(0,1,vec_length,1));
    cv::Mat tmp2 = B(cv::Rect(0,2,vec_length,1));
    A.row(0).copyTo(tmp0);
    A.row(2).copyTo(tmp1);
    A.row(4).copyTo(tmp2);

    std::cout << "A: " << …
Run Code Online (Sandbox Code Playgroud)

opencv matrix eigen

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

公共"使用"= decltype(<private>)

在下面(最小化)代码中,我有一个公开using声明,指的是decltype(something_private):using Foo = decltype(something_private<T>).

在Clang但不是GCC,因为它是私有的,所以不会编译.

问题:

  1. 如果我不想func<T>()公开,什么是优雅的解决方案.
  2. 在C++标准(C++ 11)中,备份Clang在这里是正确的吗?

以下代码在Clang(3.9 - 7.0)上出现以下错误代码失败,但构建在GCC(4.8.4 - 8.2)上:

class A {
private:
    template <class T>
    static auto func() -> T; // The actual return type is much
       // more complicated, so `using Foo = T` would not work.

public:
    template <class T>
    using Foo = decltype(func<T>());
};

int main(int, char**) {
    A::Foo<int> y;
    return y;
}
Run Code Online (Sandbox Code Playgroud)

Clang 7.0输出:

<source>:10:24: error: 'func' is a private member of …
Run Code Online (Sandbox Code Playgroud)

c++ templates decltype language-lawyer c++11

12
推荐指数
1
解决办法
333
查看次数

Swift应用程序崩溃与CLLocationManager上发送到实例`的"无法识别的选择器"

与StackOverflow上的许多其他问题类似,我unrecognized selector sent to instance在运行应用程序时遇到了错误.是什么让我的情况与众不同(我认为)是它用Swift编写的,并且常见的原因不是这里的原因.

这个问题中,解决方案是将该视图的Identity Inspector中的"Custom Class"设置为响应类.我检查了这个情况(注意我在某个时候重命名了这个类,但它现在肯定设置为"ViewController").

我在下面包含堆栈跟踪以及代码ViewController.swift.您也可以在这里找到所有代码.我设法通过开始新鲜来避免这个问题,这使我能够解决我之前的问题.这个新的试验可以在这个分支中找到.但是,我想知道出了什么问题并解决了这个问题.

有些想法

我无法成功回答的一个问题是,是否CLLocationManagerDelegate需要一些必要的方法?但是因为我让它在另一个分支机构工作,我怀疑它没有必要.

2014-07-03 21:50:26.056 RowingTracker2[11416:60b] -[CLLocationManager requestWhenInUseAuthorization]: unrecognized selector sent to instance 0xa10c4a0
2014-07-03 21:50:26.059 RowingTracker2[11416:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CLLocationManager     requestWhenInUseAuthorization]: unrecognized selector sent to instance 0xa10c4a0'
*** First throw call stack:
(
    0   CoreFoundation                      0x008831e4 __exceptionPreprocess + 180
1   libobjc.A.dylib                     0x01e2a8e5 objc_exception_throw + 44
2   CoreFoundation                      0x00920243 -[NSObject(NSObject) doesNotRecognizeSelector:] + …
Run Code Online (Sandbox Code Playgroud)

core-location ios swift xcode6

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

iOS应用不会要求位置许可

我的Swift-iOS应用程序旨在显示用户在地图上的位置.但是,XCode调试控制台告诉我,我需要请求权限才能显示用户的位置.我想,我这样做,但对话永远不会出现.

这是错误消息,在我调用的ViewController下面 CLLocationManager::requestWhenInUseAuthorization()

错误:

2014-06-30 21:25:13.927 RowingTracker2 [17642:1608253]尝试在不提示位置授权的情况下启动MapKit位置更新.必须首先调用 - [CLLocationManager requestWhenInUseAuthorization]或 - [CLLocationManager requestAlwaysAuthorization].

视图控制器:

import UIKit
import MapKit
import CoreLocation

class ViewController: UIViewController, MKMapViewDelegate {
    @IBOutlet var mapview: MKMapView = nil
    var locationmgr : CLLocationManager!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        locationmgr = CLLocationManager()
        locationmgr.requestWhenInUseAuthorization()
        mapview.showsUserLocation = true
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}
Run Code Online (Sandbox Code Playgroud)

如何申请授权使用该位置?你可以在这里 …

core-location mapkit ios swift

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

是否有任何可以重新格式化cmake文件的实用程序

我有相对复杂的cmake文件,我想知道是否有任何实用程序可以重新格式化cmakeList.txt并美化它以便于阅读?

一些简单的技巧可以完成这些工作,例如缩进if else endif部分等等.

有没有这样的工具?

我使用notepad ++进行编辑,但是如果有其他工具,我可以切换.

cmake cmake-format

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

Docker Multi-Stage:如何拆分为多个Dockerfile

我已成功使用Docker的Multi-Stage功能构建了一些代码,然后将生成的工件复制到最终映像中。

可以将这个大型Dockerfile拆分为多个文件吗?

我想提高各个阶段的可读性。当添加更多阶段时,这将变得更加重要。

编辑:我知道我可以编写一个Makefile(或类似文件),在该文件中首先构建一个名为“ myproject-stage1”的映像,然后使用FROM myproject-stage1 AS build。但是,如果可能,我宁愿避免使用外部构建工具。

docker docker-multi-stage-build

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