Eigen库打印 *** 作

Eigen库打印 *** 作,第1张

MatrixXd M = MatrixXd::Zero(50, 50)

cout <<M.block(2, 3, 5, 6) <<endl //指的是M矩阵从(2,3)位置开郑渗销始,下数5个元素,右数6个元素

M.block(a, b, m ,n)指的是从下标(a,b)的元素开始,向下m个元素,向右喊游n个元素。

注意,这两喊厅种转换方式都是浅拷贝,改变源数据的值拷贝后对象的值也会改变。

Eigen重载了<<,直接输出到文件即可。

本人博客园原文链接 无法启动程序/exe 系统找不到指定的文件

这几天师兄给了我一个小车蓝牙通信上位机程序,在VS2015环境下,配置完eigen、OpenGL等等的库后,编译生早此袜成成功,但是,不能在VS中直接运行(可以打开Release文件目录的exe应用程序运行),提示“系统找不到指定文件”的错误,如图1所示;

解决方法

1. 选择工程,右键单击属性,打开工程的属性页,参考图2;

2. 选择“配置属性->常规”,选择输出目录,可以浏扒消览自己想要的位置,可以选择图1报错提示的位置,我的是 “F:\蓝牙上位机\UpperPCTest\Release” ,如图3所示;

3. 选择“链接器->常规”,选择输出文件陆激,设置为“Release\UpperPCTest.exe”,参考图4;

4. 生成、运行(F5),程序可以正常在VS中运行。

选取一个vs2013的解决方案文件。sln,昌袜以文本文档方式打开它。(我用的是sublime text 2,我认为是款代替记事本的不错工具,性感而小巧。有人从Notapad+转为用它,自有其价值吧。)

在文件开头我们可以看到一些关键信息:

Format Version 12.00

VisualStudioVersion = 12.0.21005.1

MinimumVisualStudioVersion = 10.0.40219.1

表明该。sln生成的格式版本是12.00(vs2013),vs版本是12.0.21005.1(vs2013),最小兼容版本是10.0.40219.1(vs2010)。

那也许把该解决方案改成10.0.40219.1以上都行吧?

【版本区别】

像我这样的新手请注意这里,Version 12.00意味着版本为vs2013而非vs2012,本文末最后已总结了vs版本中的该现象。下一步中改Format Version 为11.00而非10.00

(2)修改。sln文件。

(3)重新打开

用VS2010打开修改后的解决方案文件,成功打开。

(4)编译

我想起vs2012和vs2010的平台工具集不一致,vs2012是v110,vs2010是v100,vs2013则是v120。我想先不去项目文件里查看,也许在加载解决方案的时候vs已经重置了平台工具集?于是尝试①直接编译。

编译失败,因为结果平台工具集未重置,本机上没有vs2013,找不到v120的平台工具集。同时,注意到,有“项目文件包含ToolsVersion=”12.0“ 设耐野激置……将项目视为具有ToolsVersion=”4.0“ 设置”。这似乎是。Net的工具版本号,不修改的话会自动兼容。

③编译通过,运行成功。同时,ToolsVersion的版本号是被脊源视为4.0了。

④去查找对应ToolsVersion的项目文件,修改之。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11968559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存