科学网

 找回密码
  注册

tag 标签: Studio

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

Material Studio软件安装过程中存在的问题回答
DavidLeee 2020-4-21 20:56
Material Studio软件安装会有一些需要注意的地方,否则徒劳耽误了大家好些时间,这也是这篇博文的意义所在。这个软件的安装,首先自己百度下载一个安装包。然后开始进入解压后的文件夹对set.up进行安装,除了更改一下安装路径,其它一律按照默认的设置去进行就OK了。在安装完成之后,先退出来,不要马上着急进行许可证书的安装。因为Licensing的安装一定需要对图1中的Configure Materials Studio....右键以管理员身份进行运行,再进行许可证书的安装,否则在许可证书的安装时会提示你没有权限去安装, 如图 2 所示 。 图1 图2 如图3所示,先将下载的安装包里面的破解文件夹Crack里面的msi文件打开,将第二个英文替换为本电脑的名称,这里电脑的名称只能为数字和英文,否则会在后续建模计算的时候显示“此计算机无法与提供服务器的计算机进行通讯”问题,如图3所示。然后如图4,读入破解文件夹下面Crack里面的msi文件,然后安装就行了。 图3 图4 图5 图6 在这里要说明一点有时候的安装失败需要查看一下图6中安装许可证书这一块这两项是否都处于Started,如果不是调整一下。另外对于电脑重新安装这个软件的同学一定要把之前的文件在电脑上清楚干净,在C盘上搜索一下Accelrys,然后全部删除就行。 作者:李玉海 哈尔滨工业大学博士 研究方向:等离子清洗光栅,有机污染的吸附脱附 邮箱:15546027805@163.com
个人分类: 分子动力学|10696 次阅读|1 个评论
在 Visual Studio 中开发所需的工具和组件捆绑包中选择从某个方面入手
geneculture 2020-1-25 13:24
个人分类: 软件工程|0 个评论
CentOS安装Discovery Studio Visualizer的过程和问题记录
热度 1 supernovazjx 2019-9-16 15:25
第一步:下载安装文件DSxxxx.bin 这里以我用的DS2017R2.bin为例。 第二步:执行安装(不要以sudo模式运行) ./DSxxxx.bin-console 这一步可能会报错: “BundledJREisnotbinarycompatiblewithhostOS/Archoritiscorrupt.TestingbundledJREfailed.” 出现这种错误时可能需要安装一下glibc的32位库文件。 第三步:按照安装提示步骤进行 注:以下每个步骤需要的等待时间都比较长,需耐心等候,如果多按一下回车可能导致后续步骤参数错误。 默认安装位置是 $HOME/BIOVIA/DiscoveryStudioxxxx 可以改成自定义位置。 开始安装DS主程序。主程序安装完成后会自动安装LicensePack,仍需指定安装目录。可以保持默认,也可自定义,一般保持和主程序同处于BIOVIA目录下。 LicensePack安装较快。等待完成即可。 第四步:配置license 首次启动前需配置LicensePackLocation。如果不配置,打开时会遇到报错: BIOVIADiscoveryStudiocouldnotstartbecausethereisalicensingproblem. CheckthattheapplicationandAccelrysLicensePackareinstalledandconfiguredcorrectly. 提示我们需要对LicensePack进行配置。由于上一步已经安装好了LicensePack,这一步只需执行如下命令以配置LicensePack: $HOME/BIOVIA/DiscoveryStudio2019/bin/config_lp_location/path/to/the/LicensePack 例如,如果安装LicensePack时保持默认路径,这里可以输入: $HOME/BIOVIA/DiscoveryStudio2019/bin/config_lp_location$HOME/BIOVIA/LicensePack 其他情况类推。 配置好后,可能需执行一下 LicensePack/etc/ 下的 lp_profile 文件: cd$HOME/BIOVIA/LicensePack/etc/ ./lp_profile 第五步:添加路径 打开.bashrc文件,添加如下行:(以我的DS2017R2为例) exportPATH=$PATH:$HOME/BIOVIA/DiscoveryStudio2017R2/bin/ 这样以后我们就可以在任意位置执行DiscoveryStudio2017R2启动程序了。 至此安装完成。 不出意外的话,桌面上会出现一个DS的快捷方式图标,添加信任后即可从桌面启动。 Enjoy! :-) 参考资料: 张运动,Materials Studio软件的安装与并行计算使用手册,中国科技大学 超级计算中心,2012-07-26 Discovery Studio 2019 full installation for linux ,Services for Research
个人分类: 软件相关|8078 次阅读|3 个评论
10种JavaScript开发者必备的VS Code插件
stefanzan 2018-11-27 11:28
摘要: 好的代码插件可以让工作效率翻倍,心情也更加舒畅! 原文: 10 Must-have VS Code Extensions for JavaScript Developers 作者: Michael Wanyoike 译者: Fundebug 毫无疑问Visual Studio Code是最流量的轻量级代码编辑器。它确实从其它代码编辑器吸收了大量的概念,特别是Sublime Text和Atom。不过,它受欢迎的原因主要还是在于它的性能更好,并且十分稳定。另外,它还提供了我们最想要的原本只能在那种复杂的大型IDE像Eclipse或者Visual Studio 2017里面才有的智能代码提示(IntelliSense)这样的功能。 VS Code能够如此强大还源自于它的插件市场。归功于其开源社区,VS Code几乎支持所有的编程语言、框架和开发技术。并且有各种各样的支持方案,包括代码片段(snippets),语法高亮、Emmet和IntelliSense功能相关的技术。 在本文中,我专注于JavaScript开发者经常用到的插件。目前,针对JavaScript有非常多的VS Code插件,我也不可能面面俱到。因此,我会重点列出那些最流行的必不可少的插件。为了使本文更有条理,我将它们分门别类整理。 代码片段(Snippet)插件 当你第一次安装VS Code,它会提供基本的针对JavaScript/TypeScript的代码片段支持。当你要从事更加前沿的开发的时候,你就需要一些额外的代码片段插件来辅助你编写ES6/ES7代码。 VS Code JavaScript(ES6) snippets :它是如今最流行的,安装了超过120万的插件。该插件为JavaScript、TypeScript、HTML、React和Vue提供了ES6语法支持。 JavaScript Snippet Pack :JavaScript代码片段集合。 Atom JavaScript Snippet :从Atom移植过来的JavaScript代码片段。 JavaScript Snippets :ES6代码片段,并且包含Mocha、Jasmine和其它BDD测试框架的代码片段。 语法插件 VS Code自带的针对JavaScript的语法高亮已经相当不错。你可以安装不同的主题来改变代码的颜色。不过,如果你想要更好的可读性,可以安装代码高亮插件。这里有一些推荐: JavaScript Atom Grammar :该插件将Visual Studio Code自带的JavaScript语法替换成了Atom编辑器的版本。 Babel JavaScript :支持 ES201x JavaScript、React、FlowType和GraphQL代码的语法高亮。 DotENV :如果你使用Node,你需要它。DotEnv提供 .env 文件的语法高亮。 代码风格检查插件 为了保证整个团队代码格式的一致性,使用一个代码风格检查工具可以做到。ESLint是最流行的一个工具,因为它支持非常多的代码风格,包括标准的、Google和Airbnb。下面列出一些推荐的插件: ESLint :这个是最流行的代码风格检查插件,有超过670万的安装量。你可以在 .eslintrc.json 中配置。 JSHint :JSHint的代码风格检查插件。在项目的根目录下面,用 .jshintrcfile 配置。 JavaScript Standard Style : 一个无需配置的自带非常严格规则的代码风格检查插件。它强制要求你所有代码要遵循标准规则。 JSLint :JSLint的代码风格检查插件。 如果你想要了解各个插件的优缺点,可以看看这篇博客 JavaScript代码风格检查插件大评比 。 Node插件 每一个JavaScript项目至少需要安装一个Node包。这里推荐一些针对Node的插件: npm :使用 package.json 来验证已经安装的模块,确保已经安装的模块版本号正确,标记那些安装了但是没有在 package.json 列出来的包,以及那些还没有安装的包。 Node.js Modules IntelliSense :为JavaScript和TypeScript模块自动补全import语句。 Path IntelliSense :虽然并不是真的和Node相关,这个插件可以自动补全文件名,可以在输入时对本地文件进行智能提示。 Node exec :运行你执行当前的Node文件或者选中的部分代码。 View Node Package :通过此插件可以快速查看一个Node包的源代码。 Node Readme :快速打开npm包文档。 Search node_modules :搜索 node_modules 里面的代码,标准的搜索是不会包含该文件夹的。 Import Cost :显示引入的包的大小 代码格式化插件 你也许会发现,有时后复制粘贴完一段代码后,缩进的格式变乱,需要一行一行的调整十分麻烦。这个时候,你肯定想要一个代码格式化工具。 Beautify :安装量超过230万,Beautify是 jsBeautifier 的插件,支持JavaScript、JSON、CSS和HTML一键格式化。 Prettier Code Formatter :安装量超过150万,支持JavaScript、TypeScript和CSS的格式化,使用 Prettier (一个深受大家喜爱的格式化插件)。 JS Refactor :提供了许多重构JavaScript 代码的方法,例如提取代码中的变量和方法,将函数转换为使用箭头函数或模板字面量和将函数导出。 JavaScript Booster :一个非常棒的重构工具,比如将 var 替换为 const 或则 let ,移除无用的 else 语句,将变量声明和变量初始化合并。应该说很大程度上受到 Webstorm 的启发。 浏览器插件 除非你直接在控制台写JavaScript代码,大多数时候是在浏览器中执行的。也就是说,每一次代码更新,你都需要刷新页面来重写载入代码。如果一直手动操作,是很繁琐的。我们可以用插件来替代。 Debugger for Chrome :你只需要在代码编辑器中设置断点,在浏览器中会在断点处暂停。 Live Server :在本地开发环境中,实时重新加载(reload)页面。 Preview on Web Server :提供web服务器和实时预览。 PHP Server :对于仅需要在客户端运行JavaScript 代码做测试非常有用。 Rest Client :你不需要使用浏览器或则一个CURL程序来测试REST API,通过Rest Client可以在编辑器内交互式运行HTTP请求。 框架插件 对于大多数项目,为了节省开发时间,你往往会使用一个合适的开发框架来快速开发。在VS Code上,大多数框架都有相应的插件支持。但是依然有很多框架并没有对应的插件。 Angular 6 :超过220万的安装量,支持TypeScript、HTML、Angular Material ngRx、RxJS和Flex Layout。并且有172个Angular的代码片段。 Angular v5 snippets :超过270万的安装量,提供 TypeScript、RxJS、HTML和Docker文件的代码片段。 React Native/React/Redux snippets for es6/es7 :为这些框架提供ES6/ES7语法的代码片段。 React Native Tools :提供智能提示、命令行工具和Debugging功能。 Vetur :为Vue框架提供语法高亮、代码片段、Emmet、格式化、代码风格检查、智能提示、调试帮助等。有非常详细的文档: vetur 。 Ember :为Ember提供命令工具和智能提示。安装后,所有的 ember cli 命令都可以使用。 Cordova Tools :为Cordova插件和Ionic框架提供支持。提供代码智能提示、调试辅助以及其他特性。 jQuery Code Snippets :提供超过130个jQuery代码片段。 测试插件 在软件开发中,测试是必可不少的一个环节,特别是那些要上线到生产环境的项目。你可以看看我们这篇讲测试的文章: JavaScript Testing: Unit vs Functional vs Integration Tests 。下面是一些流行的测试插件: Mocha sidebar :使用Mocha库来提供测试支持。使用该插件可以直接在代码中运行测试并将提示错误。 ES6 Mocha Snippets :提供ES6语法的 Mocha代码片段。充分利用箭头函数,尽量不使用大括号来保持代码的简洁,可配置允许使用分号。 Jasmine Code Snippets :Jasmine测试框架的代码片段。 Protractor Snippets :Protractor框架的端到端(end-to-end)测试片段,支持JavaScript和Typescript。 Node TDD :为Node和JavaScript项目提供test-driven development支持。在代码更新的时候可以自动触发代码的测试。 其它很酷的插件 我把它们分类到 awesome 类别,是因为它们真的很酷。 Quokka.js :一个很棒的调试工具,可以为您正在编写的代码提供实时反馈,能够预览变量的函数和计算值结果。请查看文档: 文档 Paste as JSON :快速将JSON数据转换为JavaScript代码。 Code Metrics :这是一个用来计算JavaScript和TypeScript代码复杂度的插件。 插件包 VS Code的插件市场有一个类型叫 插件包 。它实际上已一个相互关联的插件的集合,方便一起安装,协同使用。 Nodejs Extension Pack :包含了ESLint、npm、JavaScript(ES6)代码片段、node_modules搜索、NPM智能提示和文件路径智能提示。 VS Code for Node.js – Development Pack :NPM智能提示,ESLint,Chrome调试器,Code Metrics,Docker和导入包的开销计算。 Vue.js Extension Pack :包含大约12个VS Code插件,有些在本文没有提到,比如auto-rename-tag和auto-close-tag。 Ionic Extesion Pack :包含许多用于Ionic、Angular、RxJS、Cordova和HTML开发的插件。 结语 VS Code能够如此流行的一个原因就是拥有大量的高质量插件。它前所未有的提高了编码的效率。比如ESLint助你减少代码失误,Debugger for Chrome让你更加方便去Debugging。Node.js的智能引入提示让你可以让你正确引入所需模块,Live Server和 REST Client可以让你省去频繁切换到外部工具的麻烦。我希望今天介绍的这些插件可以帮助你提高工作效率。 关于Fundebug Fundebug 专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了8亿+错误事件,得到了Google、360、金山软件、百姓网等众多知名用户的认可。欢迎免费试用! 版权声明 转载时请注明作者 Fundebug 以及本文地址: https://blog.fundebug.com/2018/11/20/10-must-have-vs-code-extensions-for-javascript-developers/
个人分类: 工具|2022 次阅读|0 个评论
Material Studio进行晶体建模的基本步骤
daishoujun 2018-4-27 21:51
原贴: http://blog.sina.com.cn/s/blog_53383b090100xuro.html https://zhidao.baidu.com/question/304733657958139964.html 可以将以上网页结合起来做 从程序自带的各种晶体及有机模型中导入体系的晶胞 1. 打开MS,由fileimportstructuresmetals\\pure-metalsFe导入Fe的晶胞。 2. 由buildSurfacescleave Surfaces打开对话框. 在对话框中输入要建立的晶面(hkl),选择position,其中depth控制晶面层数。 然后在Z方向上加一个真空层build→buildvacuumslab,真空层厚度自己定义,一般是15埃。加好真空层后即可在Z方向上做周期性了,build→symmetry→suppercell操作可建立超晶胞,
个人分类: Material Studio|9194 次阅读|0 个评论
[转载]写给MS新手:Materials Studio软件常见问题与解决方案
yulingwang 2017-11-20 10:21
本人仅在Windows操作系统上使用过该软件,所以请注意本帖内容的适用范围。 自2012年开始接触Materials Studio软件(以下简称MS)至今,已经5年有余,本人对该软件相关的常见问题及其解决方案进行了总结,现罗列如下。 问题1 问:使用MS,用哪个版本的Windows操作系统比较好? 答:推荐用win 7,这是毫无疑问的。低版本的Windows操作系统如XP,MS 6.0还支持该操作系统,MS 6.1开始就不再支持该操作系统,就是说,MS 6.1在XP上安装不了。高版本的Windows操作系统,如win 10,低版本的MS可能不支持。 问题2 问:使用哪个版本的MS比较好? 答:MS更新比较快,截止目前(2017年04月13日),最新的版本已经更新到MS 2017 R2了。本人用过MS 5.0、5.5、6.0、6.1、7.0、8.0、2016,个人觉得随着MS版本的更新,其功能、操作界面、展示效果都会有变化,特别是当一些重磅的更新发布后,更能感受到版本更新前后的差异。举个例子,我对MS 8.0的更新印象尤为深刻,MS 8.0彻底移除了低效、蹩脚的Discover模块,习惯于使用MS 6.0的人,会惊讶地发现MS 8.0中没有Discover模块了,那些关于Discover模块的教程,在MS 8.0中无法使用了(关于Discover模块的一些问题,诸如为什么被移除、跟Forcite的区别等等,后面我会再提到)。一般说来,新版本的MS,无论是在功能涵盖的广度上,还是计算的效率上,都胜过旧版。 但对于MS版本的选择,个人建议,不一定追求最新,选择主流的版本即可(除非你的问题只有在最新版中才能解决),原因在于主流版本在功能上已经足够完善,能够满足绝大多数要求,同时使用者较多,便于问题交流。对已经相当陈旧的版本,真的不要再“抱残守缺”了,举个例子,你来小木虫问Discover模块中analysis选项的问题*,别人怎么帮你呢,难道为了你这个问题,别人也要装你这个版本的MS?最后,推荐主流的MS版本如下:MS 7.0、8.0、2016。 *注:在非常陈旧版本(具体版本号未查,估计4.0左右)的MS中,MD的结果分析是在Discover模块的analysis中进行的,后来随着MS版本的更新,analysis功能从Discover模块上移除,成为了Forcite模块的组成之一。再后来,随着MS 8.0的发布,甚至连Discover这个模块都被移除出软件了。 问题3 问:新手学习MS,有没有好的教程? 答:不管学习什么,找一份好的教程来参考,非常重要,好的教程学习层次由浅入深,能让人快速上手,少走很多弯路。新手学习MS,最好、且没有之一的教程,其实很好获得,不需要在网上苦苦搜索,这个教程就是所用MS自带的官方教程,即在MS主界面中→Help→Tutorials中提供的官方教程。 现在小木虫中,有大量所谓的MS教程,其实就是上述官方教程的中文翻译版而已。这些教程适用的MS版本不一,发布的年代跨度也很大,质量参差不齐,内容长度不一,让人眼花缭乱,有的教程的内容已经严重过时,教程上的内容,在学习者的软件上找不到对应的选项、按钮;有的教程翻译时跳过了一些步骤,让初学者难以适从;有的教程甚至存在内容错误等问题。这也算是我当初学习MS走过的弯路吧,看过几十种版本的教程,浪费了很多时间。MS的Help中自带的官方教程,学习它唯一的障碍就是英语吧,因为它的内容是全英文的。 对于英语确实有困难的同学,可以找一份近期发布的中文教程(一份足矣,再多就是浪费),跟着教程做完两件事情即可:一,熟悉MS软件的界面,知道软件中各个英文选项的大概意思;二,学会基本的软件操作,包括打开、保存、关闭软件,新建project、新建xsd、std等文件,知道如何绘制分子、构建晶胞。学会这两件事情之后,就可以放下中文教程,打开MS自带的官方教程,对自己需要使用的或者感兴趣的模块,对照官方教程一步步操作学习了。 我发现来小木虫问MS问题的同学,很多都是没有看过官方教程的,他们问的好多问题,在官方教程中就有明确的回答。最后,总结一下使用官方教程的好处: 其一,跟软件版本适用性好,这很好理解,因为你看到的MS官方教程本身就是针对你目前使用的MS版本所编写的,不存在过时、教程跟软件无法对应的问题。 其二,内容基础、全面,层次分明,由浅入深,循序渐进。说到内容全面,官方教程中会对各个模块的选项、子选项做说明,包括对选项的意义、适用条件、取值参考范围等的说明,官方教程中还会给出各个模块的参考文献,指出其理论依据(发过论文的同学,想必都知道这些参考文献的用途),这些都是其他教程难以述及的细节。 其三,MS软件界面本身就是英文的,按官方教程直接操作软件,衔接性好、操作流畅,便于养成良好的操作习惯。 问题4 问:如何查找跟自己研究内容相关并且使用MS作为研究工具的文献? 答:就像大家都知道的那样,对于文献检索,一个通用的方法就是使用谷歌学术。比如对于这个问题,可以在谷歌学术中,以研究内容和“materials studio”作为关键词进行搜索,获得满足要求的文献。对于这个问题,除了用谷歌学术,还有更好的方法吗?我的回答是肯定的:http://references.accelrys.com/,对,使用这个链接来搜索。下面举个例子。 近几年,石墨烯可谓大红大紫,是学术研究的热点。在链接http://references.accelrys.com/中,以graphene(石墨烯的英语单词)作为关键词进行搜索,即可轻松得到如下图的结果: 从图片可以看到,搜索结果列出了文献的标题、作者、采用的MS的模块名、发表期刊、发表时间等信息,点击某篇文献的标题,将立刻跳转到该文献的下载界面,便于下载阅读。 除了上述信息,位于搜索结果左侧的那些统计信息的参考价值更大。图中①标记的是用MS研究石墨烯的文献的模块使用情况,可以看到,这些文献使用量子力学(Quantum Mechanics )的模块最多,且尤其以DMol3模块的使用频率为最高。②标记的是从2001年以来用MS研究石墨烯的热门程度,从图中可以看到从2008年来,这类研究逐渐转热(数字“2008”粗体,且大字体),最近的五年(2012~2016年)研究的热度一直保持高位,而且在最近的五年中,尤其以2015年发表的相关文献最多(数字“2015”粗体,且字体最大)。③标记的是这类文献的研究关键词,可以为了解研究分支方向的热门程度提供参考。 当我们打算用MS来为自己的研究做点什么时,有一个首先要回答的问题:MS模块那么多,到底用哪个(些)模块?确实,这是一个重要的问题,MS模块那么多,不可能也没有必要每个模块都学。此时,①标记的模块统计信息就很有参考价值。文献是前人研究的成果,具有一定权威性,跟着文献做,至少方法上的可行性很高,不容易走上走不通的路;文献中的计算方法、建模步骤、计算参数设置等细节,很有借鉴价值,这些细节一般在通用的MS教程中是学不到的,而且借鉴之也能让你自己的论文有依据,当审稿人问你,为什么用某某建模方法、某某参数设置时,把文献列出来,大都是能让审稿人信服的。借鉴好的文献,就是站在巨人的肩膀上。 问题5 问:为了构建某晶体的晶胞结构,需要知道哪些信息? 答:构建某晶体的晶胞,以下信息缺一不可: 第一,该晶体晶胞的空间群,这是晶胞的对称性信息; 第二,该晶体晶胞的晶格常数,一共包括6个参数,其中长度参数3个:a、b、c;角度参数3个:α、β、γ; 第三,该晶体晶胞中所有原子的三维空间坐标(x, y, z)。 问题6 问:从哪里可以获得构建晶体晶胞所需的全部信息? 答:对于常见的晶体(这也是最常见的情况),可根据晶体的种类,从以下经典的数据库获得其晶胞信息: a. 无机晶体:查ICSD*,小木虫中可获得的FindIt软件,就是该数据库的脱机版,建议下载该软件; b. 有机晶体:查CCDC提供的CSD**,小木虫中可获得的CCDC软件,就是该数据库的脱机版,同样建议下载该软件。 所以,如果同时拥有FindIt和CCDC软件,即可获得大多数晶体的晶胞信息。 不过,新近合成的晶体的晶胞信息,由于上述数据库的更新存在一定滞后性,在其中不一定能找到。此时,可试着从发表该晶体结构的学术论文上查找所需的晶胞信息(这类文献常直接提供晶体的cif文件)。需要说明的是,上述ICSD和CCDC中的晶胞信息,实际上,绝大多数也是来源于已经发表的文献(包括学术论文),对于常见的晶体,推荐直接使用这两个数据库,而不是检索文献,是因为这样做最为便捷。最后,还有一个种特殊情况:自己合成了一种新的晶体,想构建它的晶胞结构怎么办?那只能自己培养单晶,做XRD解晶体了。 *注1:ICSD(The Inorganic Crystal Structure Database),无机晶体结构数据库 **注2:CCDC(The Cambridge Crystallographic Data Centre),剑桥大学晶体学数据中心;CSD(Cambridge Structural Database),剑桥大学结构数据库 问题7 问:为什么找到的晶胞信息中,其他原子的坐标信息均有,唯独H原子的坐标信息缺失? 答:这是一种常见的情况,这种情况常常出现在含有结晶水的晶体的晶胞信息中。出现这种H原子的坐标信息缺失的原因主要有两个: 其一,我们都知道,H是元素周期表中第一个元素,H原子也是最轻的原子,相对于其他更重的原子,H原子的热运动更为剧烈,所以其在XRD测试时难以被捕捉到,难以确定其位置,最终导致其坐标信息的缺失; 其二,测试条件、技术的限制,这种H原子的坐标信息缺失的情况,在年代较为久远的文献中,存在更普遍,原因之一就在于以前的仪器、技术条件没有现在发达、成熟。 问题8 问:H原子的坐标信息缺失,还想构建晶胞怎么办? 答:对于常见的晶体,其晶胞信息的文献来源往往不止一篇文献(实际上,很多常见的晶体,发表其晶胞信息的文献可能有十几篇,甚至几十篇供选择),可试着查找其他文献来源,往往能找到包含H原子坐标的完整的晶胞信息。 如果查阅了所有文献,还是无法获得包含H原子坐标的完整的晶胞信息,此时,只能考虑像问题6中提到的那样,自己培养所需晶体的单晶,做XRD解晶体了。 问题9 问:已经获得了完整的晶胞信息,如何在MS中把晶胞构建出来? 答:主要有以下两种方法。 其一,根据晶胞信息,手动构建晶胞:在MS中新建一个xsd文件,打开该xsd文件,在MS软件界面上选择build→crystals→build crystal,依次输入空间群、6个晶格常数,这样晶格骨架就建好了。然后,在MS软件界面上选择build→add atoms,把所有原子的坐标依次输入,就完成了整个晶胞的构建。 其二,直接导入结构文件,构建晶胞:这是一个简便方法,前提是获得该晶胞的结构文件,比如常见的cif文件,直接导入到MS即可:把该cif文件直接拖拽进MS界面,或者在MS界面中选择File→Import,再浏览到存放该cif文件的目录。 对于第二种方法,要特别注意:cif文件直接导入MS时,空间群可能会发生变化,这也是很常见的问题。把cif文件直接导入MS建模后,应立刻在properites中检查lattice 3D中的各参数与cif文件中的一致性,这是保证建模正确的基本步骤。如果发现不一致,应该以cif中的空间群为准,并在MS软件界面上选择build→crystals→rebuild crystal,把空间群改成与cif文件中给出的一致即可。 问题10 问:如何在MS中,选择合适的模块来开展计算? 答:无论研究的内容如何,涉及使用MS的计算,总是在MS的模块中进行的。也就是说,进行计算之前,首先要确定的是使用MS的哪个(些)模块。确定MS使用模块的通用的经验原则如下: (1)根据自己研究的需求、期望获得的结果,确定MS模块的类型。 MS模块的类型,可大致分为4类:量子力学类模块、分子力学类模块、蒙特卡洛类模块、晶体学类模块。每个模块都有其他模块没有的、自己特有的计算功能。举几个例子,如果想做晶体形貌、晶体主要形貌晶面确定的相关计算,晶体学类模块中的Morphology模块肯定能成为重点使用的模块之一;如果想计算能带、态密度,就应该选择量子力学类的模块,分子力学类和蒙特卡洛类的模块没有这样的功能。当然,为了确定合适的模块,应对MS中各类模块的基本功能有所了解。 然而,在实际中,匹配自己需求的模块,并不是如上例中那么明显的。举个很常见的例子,做有机分子在某晶面上的吸附,通常涉及几何优化、动力学计算等步骤,MS中的量子力学类模块、分子力学类模块、蒙特卡洛类模块3个类型的模块中均有模块能实现几何优化、动力学计算等功能,那么该如何选择呢?此时,就要根据自己构建的模型的具体情况来确定适合的模块,具体如下。 (2)根据自己构建模型的尺寸、原子数,确定合适的MS模块。 a. 模型较小,包含数十、乃至数百个原子,可选用量子力学类模块; b. 模型中等大小,包含数千至数万个原子,可选用分子力学类模块; c. 模型较大,包含大量的原子(数万乃至更多),可选用蒙特卡洛类模块。 上述经验原则的确立,实际上很大程度上源于现有计算平台条件的限制,这里的计算条件主要是指计算机的内存大小、CPU性能。计算平台的内存大小主要决定能构建的模型的大小(模型的尺寸、包含的原子个数),CPU性能主要决定计算的快慢。所以,上述经验原则,实际上是根据现有常见计算平台的配置来确立的。举个例子,对于一个包含五百个原子的晶面、若干个有机物分子、以及一个厚度可观的真空层的模型,在普通工作站上,以量子力学的CASTEP模块来做几何优化,计算精度选中等,即便该工作站的内存足以支撑模型,并打开所有CPU并行,计算的耗时也是非常可怕的,有时候计算耗时甚至会大到让人无法接受的程度,比如一个月,为一个正确性未知的结果,等待一个月,这肯定是难以接受的!若模型包含的原子数进一步增加一倍,仍采用CASTEP模块,也许上述工作站的内存连构建模型都不够,更谈不上后续计算的开展了(说得直白点,模型都无法构建,何谈对模型进行计算)。然而,上述用CASTEP模块难以计算的模型,放在分子力学类的Forcite模块中做几何优化,整个过程的耗时往往只是分钟级别的,这是多么大的速度提升! (3)根据对精度的要求确定合适的MS模块。 对于同一个计算模型,在基本相当的计算精度下,量子力学类模块、分子力学类模块、蒙特卡洛类模块,计算精度依次递减,计算耗时依次递减。如果对计算精度有较高的要求,而此时计算的耗时又尚在可接受的范围之内,通常选用量子力学类的模块。举个例子,对晶胞进行几何优化,若精度要求较高,一般会选择用Dmol3或者CASTEP来做。 (4)考虑模拟的过程是否涉及电子的得失和转移。 我们知道,化学反应通常是涉及电子得失和转移的,而MS中量子力学类模块的Dmol3、CASTEP模块的计算涵盖了原子的电子。说个题外话,正是因为上述模块考虑了数目众多、行为复杂的电子,才使得它们的计算速度,相比于分子力学类的模块,显得如此的慢。而分子力学理论本身构建的思想,就是要舍弃那些“数目庞大、行为复杂、却又微不足道”的电子,所以从基本理论上,就决定了分子力学类的模块,不具备考察电子行为的功能(但计算速度大大加快)。所以,对于涉及电子得失或转移的过程(诸如涉及化学反应的过程)的模拟,应当选择量子力学类的模块,分子力学类、蒙特卡洛类的模块都爱莫能助。 (5)考虑使用分子力学类模块时,力场的局限性。 由于分子力学类模块的计算速度较快,而计算精度尚可,使得MS中的分子力学类模块成为了使用频率最高的模块之一。然而,分子力学类模块有一个很大的局限性,就是力场,更确切地说,是力场的适用性。在MS的分子力学类模块中,计算之前必须指定(不管是操作者手动指定,还是让模块自动指定)计算模型中所有原子的力场参数,力场是计算的基础,模型中任何一个原子力场参数的缺失,都会导致计算失败。遗憾的是,目前还没有哪个力场,其适用性足以涵盖绝大多数原子、离子、官能团、粒子团。举个例子,大家非常熟悉的COMPASS力场,适用的范围也仅是其列出的一个表格中的那些,比如COMPASS中没有三价铝离子的力场参数。 如果找遍了各类力场,还是无法获得对自己研究的模型具有完整适用性的力场,此时可考虑转向量子力学类的模块,对于分子力学类模块常处理的几何优化、动力学计算,量子力学类的模块的适用范围广泛得多。当然,为了适应量子力学类模块的特点,模型应进一步简化,以减少原子个数和模型尺寸。 最后,关于力场的问题,作一点说明。上面提到,如果力场参数缺失,可考虑使用量子力学类的模块,那如果无论采取怎样的措施,模型还是很大,无法使用量子力学类的模块来计算怎么办?有一个绝妙的解决方案:等。对的,就是等。计算机硬件的升级更新非常之快,目前无法开展的计算,也许过几年,计算平台的内存、CPU性能就能满足现在的计算要求了呢! ---玩笑完结分界线,以下进入正儿八经的回答--- 码了这么多字,开个玩笑罢了。对于该问题的回答,其实就是自己拟合力场*。实际上,我们熟知的COMPASS力场,其中的力场参数都是基于高精度计算理论方法(诸如量子力学)拟合出来的。所以,如果你发现自己研究的模型在现有的各类力场中找不到完整的力场参数,而你又对计算精度要求较高,那么自己拟合出来也许是一个解决方案。 *注:拟合力场技术性较高,计算量也很大。 (6)参照文献来确定合适的模块。 这其实是确定模块的快速且有效的方法。特别是当你的研究内容跟现有的文献相似时,借鉴文献作者对于MS模块的选用结果,一般是适用的。上述的(1)(2)(3)(4)(5)五点以其他更深层次的细节,文献的作者都替你考虑好了,借鉴之是多么便捷!这正是读文献的好处之一,当然读文献的好处远不止于此。关于“如何查找跟自己研究内容相关并且使用MS作为研究工具的文献”,请参见问题4。 问题11 问:MS中Discover与Forcite模块有很多功能是相同的,两者到底有什么区别?到底该用哪个来做计算? 答:其实,对于初次使用MS就使用MS 8.0及以上版本的人而言,这个问题本身不是一个问题,因为从MS 8.0开始,Discover模块就已经被移除出去,就是说,从MS 8.0起,MS中没有Discover这个模块了。但是,Discover模块曾经是分子力学相关计算中使用频率最高的模块,在以前的教程中,有关这个模块的内容是必不可少的。正是因为如此,很多一边参考老版教程进行学习,一边使用MS 8.0(及以上版本)进行实践操作的人,会很疑惑为什么自己使用的MS软件中找不到教程中介绍的Discover模块,是不是自己的软件有问题(几天前,就有一个虫子发帖问类似的问题)。有关教程与MS软件相匹配的重要性,我在问题3中已经有过详细说明。 对于初次使用MS使用的是7.0以下版本(诸如6.1、6.0、5.5、5.0等)的人而言,Discover与Forcite模块是一直同时存在于MS软件中的。我大概查了一下,Forcite模块第一次被加入到MS中是在2002年10月发布的MS 2.2中(这是一个多么久远的日期,那时我还在上初中,很多使用MS的虫子,恐怕还在上小学吧)。而MS 8.0是在2014年发布的,也就是说,在MS 8.0发布之前的十年多的时间里,这两个模块是一直并存于MS软件中的。 对于不算特别古老的MS模块而言,Discover与Forcite模块拥有以下2个可以互相替代的功能:a. 几何优化;b. 分子动力学计算。而几何优化和分子动力学计算,正是分子力学有关计算涉及最多的两个内容。在功能上,除了两个模块互相覆盖的部分,Forcite模块还包含退火、淬火等功能,而且MD计算结果的分析,也是在Forcite中进行的(实际上,不仅仅是MD计算,只要是Dynamics类的计算结果,如CASTEP、GULP模块产生的Dynamics计算结果,都是在Forcite中进行分析的)。可以这么说,Discover模块能做到的,Forcite模块也能做到。 其实,更准确地说,应该是这样的:Discover模块能做到的,Forcite模块不仅全部能做到,而且做得更快、更好(至少在Windows系统是如此,下同)! 做几何优化时,用单个CPU核心,对同一个结构,采用相同的参数设置(包括相同的计算精度、收敛容差),我们会发现,Forcite模块更快,用的时间更短!我猜测,这是因为Forcite模块采用的优化算法更先进。 对于需时更长的MD计算,采用多个核心并行计算时,Forcite模块计算速度的优势将会更加明显,会比Discover模块快得多。在整个计算过程中,Forcite模块使用的CPU核心都是满负荷运行的,而Discover模块使用的CPU核心负荷一直上下波动,难以充分利用CPU的性能。 也许,正是鉴于上述这些原因,Discover模块才被移除出去的吧。最后,正面回答一下本问题,在功能上,Forcite不仅能完全代替Discover,而且Forcite功能更多、计算速度更快,用Forcite做相关计算是最佳选择。 问题12 问:MS中构建的模型,图像消失了,怎么解决? 答:对于MS中图像显示的问题,在确定不是其他硬件方面的原因的前提下,都可以尝试:MS界面→tools→options→Graphics, 查看其中的选项是否勾选,如果没有勾选,就全部勾选,重启MS;如果已经勾选,现全部不勾选,重启MS。一般而言,上述方法能解决大部分MS中图像显示的问题。 问题13 问:MS中无法旋转、缩放、复制模型,Ctrl、Alt键无法使用,是什么原因?如何解决? 答:出现上述问题时,应检查在MS运行的同时,是否打开了QQ,以及有道词典、灵格斯词霸之类的词典软件。要说这些软件影响MS运行的原因,大概在于这些软件会占用诸如Crtl、Alt、Shift之类的快捷键。总之,当出现类似问题时,可试着把上述软件关闭,然后重启MS。尤其在MS中进行模型构建的时候,强烈建议关闭其他软件,给MS一个“清净”的环境。 问题14 问:在MS中,如何设置周期性边界条件? 答:在分子模拟理论中,周期性边界条件是一个重要概念,设置周期性边界也是保证计算正确的重要条件。然而,这个问题,在MS中不算是问题。可以这样说,需要周期性边界条件的场合,MS软件已经为你预先考虑好、准备好了:在MS中构建的晶胞(cell)、超晶胞(super cell)、无定型晶胞(amorphous cell)、晶面+真空层的slab结构、单个layer或者多个layer的组合结构等,这些结构本身已经是满足周期性边界条件的,不需要操作者再额外设置。这是作为一款售价百万元的商业软件,带给操作者基本的便利。 问题15 问:几何优化、MD计算结束后,发现原子跑到盒子外面去了,怎么办?是因为没有设置好周期性边界吗? 答:对于这类问题,如果你的模型属于问题14所述的那些,那么几乎可以排除周期性边界条件的设置问题。在确保模型构建无误、计算参数设置合理的前提下,出现原子跑到盒子外面去的情况,往往都是正常的,不影响计算结果。在构建的模型的空白处:右键→display style→lattice→在lattice的display style子项下→in-cell,再换成default,操作完毕后,看看熟悉的模型是不是又回来了? 问题16 问:分子力学类计算中,截断半径、盒子尺寸如何合理地设置? 答:在分子力学类计算中,范德华力、静电力(库仑力)都是至关重要的作用力,从这些作用力的计算公式可以看到,它们的大小与距离有着密切的关系。理论上,为了完全地考察一个粒子的受力情况,应当考察以该粒子为圆心、半径r=∞的球体内所有的其他粒子对该粒子的作用。但这只是从理论上讲,实际上,随着r数值的增大,计算量将急剧增大,对于r数值很大的情况,即便是使用高速的计算机来处理,计算量也是恐怖级的了;幸运地是,没有必要将r取到很大,因为上述作用力均随着距离的增大而迅速衰减,所以,将r截取为不算大的数值(即截断半径),即可获得令人满意的计算精度。 此外,在分子力学类计算中,基本上都会应用周期性边界条件。当截断半径、周期性边界条件两者遇到一起时,可能出现一个问题:当盒子尺寸不够大时,待考察粒子与其自身的镜像之间的距离会小于截断半径,导致出现该粒子与其自身发生作用的异常情况。为了解决这个问题,盒子尺寸应当足够大,至少应大于截断半径。现在正面地回答这个问题: (1)对于截断半径,其代表着计算的精度,为了保证计算结果的质量,截断半径不能取得过小。其实不必想得这么复杂,MS已经给出了几档截断半径的精度,比如9.5(coarse)、12.5(medium)、15.5(fine)、18.5(ultra-fine)埃米,这些数值不是开发者随意选取的,而是根据长期的计算经验选取的能代表精度档次的经典数值。在实际的计算参数设置中,直接从MS的预设值中选取即可,没必要自定义一些比较“另类的”数值,比如12.8、13.8这类非经典数值;一般计算选择12.5(medium)及以上的精度;对于SCI期刊,建议选取15.5(fine)及以上的精度。 (2)对于盒子尺寸,大家可能听说过“盒子尺寸应大于等于截断半径的2倍”这一说法。个人认为,这是一个比较保险的准则,实际上,盒子的尺寸与截断半径的大小关系,应当根据计算目的来确定。举个例子,如果以计算能量为目的,为了节约计算时间和计算资源,盒子尺寸略大于截断半径的1倍即可;如果想计算RDF,盒子尺寸则须略大于截断半径的2倍。简而言之,如果想省事,就按“盒子尺寸应大于等于截断半径的2倍”来处理,一般问题不大。此外,如果计算资源充裕,可设置更大的盒子尺寸。 (3)对于确定截断半径和盒子尺寸的先后顺序,不少MS初学者,会有一个误区:先确定盒子尺寸,再确定截断半径。比如,有虫子问“盒子尺寸十几埃,截断半径取七埃,可以吗”(问题大意是如此,如果数据不够精确,见谅),“盒子尺寸十几埃,截断半径取七埃”最大的问题在于,截断半径太小,难以保证计算精度,计算精度不够,谈何保证计算结果的正确性和可信度?截断半径过小,计算精度不够,计算结果可信度不高。截断半径过大,大到大于盒子尺寸,计算结果是错误的。总之,建议先设定计算精度(截断半径),再根据计算目的来设置合适的盒子尺寸。 (来源:小木虫论坛 作者:月只蓝 原文链接:http://muchong.com/t-11279111-1)
7845 次阅读|0 个评论
Python编译调试:超强组合之Visual Studio + Python
zhoufcumt 2017-11-1 14:43
众所周知,Visual Studio是开发Windows平台产品的利器,是C#、ASP.NET等应用开发的首选IDE。其实,Visual Studio也可作为Python IDE来使用。你只需在Visual Studio的基础上,安装PTVS(Python Tools for Vistul Studio)插件,即可快速将Visual Studio变成Python IDE来使用。 PTVS下载地址:https://docs.microsoft.com/en-us/visualstudio/python/installation,选择下载和已安装VS版本对应的PTVS版本。点击安装完成后即可使用,不用配置。
个人分类: Python|5041 次阅读|0 个评论
parallel studio安装之后不能只能智能颜色问题的解决
xipaul 2016-10-21 16:15
如题: 我的解决方法是: http://stackoverflow.com/questions/31654667/visual-studio-2015-intellisense-not-working 是从这个网站上看到的,百度搜了好久才找到, 重新设置一下就能行了,找到D:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE下的devenv.exe 然后选中这个文件后,然后又在空白处左击一下,不选中这个文件,然后在空白处shift+右键,选择在此处打开命令窗口,然后在输入 devenv.exe /resetuserdata 确定即可了。 然后重新打开vs2015就行了
1642 次阅读|0 个评论
Mathematica 与 Visual Studio
yanqiaokai 2015-11-26 00:41
Mathematica 10.3 VisualStudioCompiler.m $VisualStudioVersions = { 2015, 2013, 2012, 2010, 2008, 2005} installPath := installPathFromEnvironment installPath := installPathFromEnvironment installPath := installPathFromEnvironment installPath := installPathFromEnvironment installPath := installPathFromEnvironment installPath := installPathFromEnvironment
3242 次阅读|0 个评论
Visual Studio项目属性的一些配置项的总结
T573029173 2014-10-11 15:10
【此文为网络资料整理版】 这几天刚好要做一个决策支持系统软件的框架搭建,看到网上一些较好的资料整理了下,给大家分享。 一、 Visual Studio 项目的文件组织方式 VC6.0 之后的 VC (VS) 系列使用解决方案 (Solution) 来替代原来的工作空间,用于组织和管理多个相关的项目 (Project) 。 VS 中的每个管理器 ( 解决方案或项目 ) 都会对应一个总的文件夹,这个管理器文件夹下存放本管理器的配置文件以及子管理器。以 C# 项目为例,解决方案管理器总文件夹下包含解决方案配置文件 *.sln 和项目子管理器文件夹,而项目子管理器文件夹下包含 C# 源文件 *.cs 、项目配置文件 *.csproj 、 Properties 属性文件夹、 obj 文件夹和 bin 文件夹。其中 obj 和 bin 文件夹下各包含 debug 和 release 两个文件夹。 obj 文件夹下存放中间编译结果, bin 文件夹下存放最终生成的 exe 或 dll 文件。 二、常用项目属性和系统默认配置变量 通常程序开发步骤包括编辑程序、编译程序、装配链接程序、程序调试测试、安装部署。表 1 给出了程序开发过程中常用的系统变量名和意义: 表 1 项目配置常用的系统变量名和意义 图 1 是某一个工程设置的例子,下面的案例中是以新建一个 MyProject 的项目为例: 图 1 注意:从上图可以看出, TargetDir 指目标目录,是一个目录。而 TargetPath 是目标路径,包括具体的文件名。 2.1 常规 — 输出目录 项目属性的“常规”栏目中“输出目录 (OutDir) ”的 作用是给 $(OutDir) 系统变量赋值,其 默认属性值为 $(SolutionDir)$(ConfigurationName) , $(SolutionDir) 表示解决方案目录, $(ConfigurationName) 的值为 debug 或 release 。启动编译后会在解决方案文件夹下建立 debug 文件夹。 也就是说默认情况下的输出目录是在解决方案目录下的 debug 或 release 文件夹下,当然这是针对 C++ 型项目而言, C# 型项目不一样。 2.2 常规 — 中间目录 项目属性的“常规”栏目中,“中间目录 (IntDir) ”的作用是存储链接器所需的输入文件,默认属性为 $(ProjectDir)$(ConfigurationName) ,编译后会在 MyProject 项目文件夹下建立一个 debug 文件夹,并在该文件夹下生成 MyProject.obj 二进制文件。 2.3 链接器 — 常规 — 输出文件 项目属性的“链接器”栏目下,“常规”选项下,“输出文件”默认属性为 $(OutDir) \ $(ProjectName).exe ,其中 $(OutDir) 指的是输出目录,启动链接后,在输出目录下生成 MyProject.exe 文件。 $(TargetDir) 的值是由“输出文件”指定的目录决定的。也就是链接器最后生成的 *.exe 文件所在位置。 图 2 “ 输出目录 ”和“ 输出文件 ”两个属性对应的目录默认情况下是一样的,这样用着方便。如果两个不一样,则链接器所需的 *.ilk 和 *.pdb 等中间文件在“ 输出目录” ,而最终生成的 exe 文件在“ 输出文件 ”属性设置的目录中。 2.4 调试 — 命令 项目的“输出目录”属性值决定着系统变量 $(OutDir) 的值,而项目的“输出文件”的属性值决定着 $(TargetDir) 和 $(TargetPath) 的值。 程序调试时,系统变量 $(OutDir) 的值是最先确定的,而 $(TargetDir) 和 $(TargetPath) 的值是在链接器生成 exe 文件后才确定的。 “调试”栏目中的“命令 (Command) ”属性项,这个属性表示启动调试器时执行的 exe 文件“ 全路径名 + 文件名”,默认为链接器生成的 $(TargetPath) 目录, 当然你也可以手动更改 “ 命令 ” 属性的值。 图 3 单击调试按钮 (VS 中的那个小三角形按钮 ) , VS 会起动图中所示目录下的 exe 文件。一般来说“链接器”— “输出文件”与“调试”— “命令”中的文件位置、名称是相同,以表示链接器生成的文件和调试时使用的文件一样。一言以蔽之,① “调试”— “命令” 、② TargetPath 、③ 输出文件,④ 输出目录 (OutDir) 默认情况下是处于同一个目录,并呈现出前一个紧密依赖于后一个的关系。 2.5 调试 — 工作目录 工作目录 (WorkingDirection ) 与执行目录 (Command) 可以不同, 它是程序工作运行过程中默认读取的目录, 调试时是将工作目录下的文件作为附加参数添加到执行目录的 exe 文件中去调试执行。 “调试”栏目中的“工作目录”项,默认属性值为 $(ProjectDir) ,即工程配置文件 MyProject.vcproj 所在目录,调试过程中它会随着 OpenFileDialog 、 SaveFileDialog 等对象所确定的目录而改变。对于静态链接的 lib 和 dll 库文件可以放入 exe 所在的执行目录,而动态加载的 dll 一般放在工作目录,比如插件就放在工作目录。此外,程序运行过程中生成一个 txt 文本文件或读取一些配置文件,如果在创建或读取过程中未指定绝对路径,只指定其文件名,那么默认的路径就是工作目录。 VS 中工作目录是用于调试过程,只有在调试时, VS 才会把项目配置属性中的工作目录设置为执行进程的工作目录,然后再启动对应的 exe 程序。如果用户选择直接双击一个 exe 程度启动新进程, VS 会自动把 exe 文件所在的目录设置为新进程的工作目录。 因此,在软件部署发布的时候,需把工作目录内的文件拷贝到 exe 所在的执行目录内,否则就会运行出错。 2. 6 链接器 — 输入 — 附加依赖项 “链接器”栏目下,“输入”选项下,“附加依赖项”属性。此项是设置程序链接时使用的静态库的名称。相当于链接已经编译好了的“代码”。由此我们可以简单的认为这些库就相当于我们自己写的源文件,只不过这些库是编译好了的源文件而已。 图 4 三、案例操作演示 3.1 前期准备工作 为了增强读者对前面内容的理解,此部分将通过一个实际的案例对其进行演示,假设我们期望的目录结构如下图所示。解决方案的名称为 GMA ,包含一个动态链接库项目 ChocolateMilk( 生成 dll) 和一个应用程序项目 PureMilk( 生成 exe) ,需要使用一个第三方库 log4cxx(Apachelog4j 的 C++ 移植版本,用于日志输出 ) 。 log4cxx 是以动态库的方式编译的,所以我们需要它的①导入库 (log4cxxd.lib) ,②头文件和③动态链接库 (log4cxx.dll) ,分别位于 Lib 、 Include 和 Bin 中。 图 5 1) GMA 是解决方案目录 2) PureMilk 和 ChocolateMilk 是项目目录 3) Lib 目录用于存放导入库或者静态库 ( 包括第三方库和用户项目生成库 ) 4) Include 用于存放 第三方库 的头文件 5) Bin 目录存放所有动态链接库和执行档,包括自己的产出和第三方库,分 Release 和 Debug 两个版本。另外,程序运行过程中需要外部的数据文件和启动时需要的配置文件等等都可放于该目录 6) Temp 用于存放临时生成文件,其中 Compile 存放编译器编译时生成的 obj 文件, Link 存放链接器的输出文件。 7) PureMilk 和 ChocoliteMilk 两个项目的头文件和源文件位置不要动,仍然在各自的项目文件夹内。 上面目录结构清晰,一目了然,当我们的程序需要制作安装包时我们只需将 “Bin/Release” 目录下的所有文件打包。而在发布和转移源码时我们可以打包除了 Temp 目录以外 “GMA” 目录下的所有文件和目录。如果不需要执行档,还可不包括 Bin 文件。 然而, VC 2008( VS 2008) 并不会自动为用户准备好上面的所有的配置,其中一些工作的需要用户修改项目的缺省设置来完成。 1) 使用 “/GMA/Temp/Compile/” 作为项目编译时使用的中间目录 2) 使用 “/GMA/Temp/Link/” 作为项目链接的输出目录 3) 当项目是应用程序时,在构建结束后拷贝执行文件到 “/GMA/Bin/Release/” 或 “/GMA/Bin/Debug/” ,当项目是动态链接库时,除了拷贝 dll 到 Bin ,还拷贝导入库到 “/GMA/Lib/” 4) 当项目是应用程序时,调试时运行 “/GMA/Bin/Debug/” 或 “/GMA/Bin/Release/” 下面的执行文件,并以 “/GMA/Bin/Debug/” 或 “/GMA/Bin/Release/” 为工作目录 3.2 开始两个项目配置属性设置 3.2.1 动态链接库项目 ChocolateMilk 配置属性 1) 使用 “/GMA/Temp/Compile/” 作为项目编译时使用的中间目录 2) 使用 “/GMA/Temp/Link/” 作为项目链接的输出目录 图 6 注意高亮的部分,首先将配置改成 All Configuration( 全部配置 ) ,这样可以让我们同时修改 Debug 和 Release 的部分; Output Directory ( 输出目录,链接器 ) 栏位填入: $(SolutionDir)\Temp\Link\$(ProjectName)\$(ConfigurationName) Intermediate Directory ( 中间目录,编译器 ) 栏位填入: $(SolutionDir)\Temp\Compile\$(ProjectName)\$(ConfigurationName) 3) 默认设置的 dll 和 lib 生成文件为输出目录中,因此构建结束后拷贝动态链接库到 “/GMA/Bin/Release/” 或 “/GMA/Bin/Debug/” ,拷贝导入库到 “/GMA/Lib/” 。 我们通常都会在 Debug 版本的输出库后面加上字母 “d” 以表示这是 Debug 版本,在 Debug 配置下,修改 Import Library 属性为 $(TargetDir)$(TargetName)d.lib : 图 7 为了实现构建结束后动态链接库和导入库的拷贝, VC 可以让我们设置构建前后执行的脚本程序,需要我们写构建后执行的脚本: 图 8 由于 VC 中缺少表示导入库的系统变量值,所以在 Command Line 设置时需要分别设置 Debug 配置下: copy “$(TargetPath)” “$(SolutionDir)\Bin\$(ConfigurationName)\” ; copy “$(TargetDir)$(TargetName)d.lib” “$(SolutionDir)\Lib\” ; Release 配置下: copy “$(TargetPath)” “$(SolutionDir)\Bin\$(ConfigurationName)\” ; copy “$(TargetDir)$(TargetName).lib” “$(SolutionDir)\Lib\” ; 3.2.2 应用程序项目 PureMilk 配置属性 1) 使用 “/GMA/Temp/Compile/” 作为项目编译时使用的中间目录 2) 使用 “/GMA/Temp/Link/” 作为项目链接的输出目录 将配置改成 All Configuration ,这样可以让我们同时修改 Debug 和 Release 的部分; OutputDirectory( 输出目录,链接器 ) 栏位填入: $(SolutionDir)\Temp\Link\$(ProjectName)\$(ConfigurationName) IntermediateDirectory( 中间目录,编译器 ) 栏位填入: $(SolutionDir)\Temp\Compile\$(ProjectName)\$(ConfigurationName) 3) 构建结束后拷贝执行文件到 “/GMA/Bin/Release/” 或 “/GMA/Bin/Debug/” 在 Command Line 中填入, All 配置下: copy $(TargetPath) $(SolutionDir)\Bin\$(ConfigurationName); 4) 调试时运行 “/GMA/Bin/Debug/” 或 “/GMA/Bin/Release/” 下面的执行文件,并以 “/GMA/Bin/Debug/” 或 “/GMA/Bin/Release/” 为工作目录 图 9 Command 栏填入: $(SolutionDir)\Bin\$(ConfigurationName)\$(TargetFileName) WorkingDirectory 栏填入: $(SolutionDir)\Bin\$(ConfigurationName)\
16421 次阅读|0 个评论
shiny介绍
happyscience 2014-6-20 17:27
1 什么是shiny 1)shiny是R程序与网页进行交互的一个平台 2)假设你打算创建一个预测算法,使用shiny就很容易创建一个调用R的网络输入路径,同时可以使用创建的这个预测算法并演示结果 3)使用shiny,可以大大缩短创建简单而又是强大的基于网络交互的R数据处理程序 4)shiny 结合R studio会非常好用 2 使用shiny所需具备的知识 1)shiny很容易掌握,不需要太多其他编程程序经验,但是作为一种网络程序语言,适度了解html,css和Javascript是非常有帮助的 html能够方便于搭建网页结构,便于标记说明 css能够用于编辑网页风格 js则适用于交互体验 网上有很多这方面的介绍 shiny使用的是bootstrap风格,很漂亮,也适用于移动平台 3 除此之外还有什么 深度了解网络客户服务程序很有用 OpenCPU能够提供API用于网页文档调用R 举例: 当希望创建一个算法用于预测糖尿病风险时,您会希望病人和看护输入他们的数据,进而采取预防措施。这时候你就会希望创建一个网页,这样患者就可以输入相关数值,从网页上直接获得预测结果。 diabetesRisk - function(glucose) glucose/ 200 怎样开始使用shiny 1 安装R 2 在windows系统下,在R中运行以下命令 install.packages(shiny) libray(shiny) shiny Project 一个shiny程序通常包括两个部分 1)ui.R 用于用户交互,控制外观 2)server.R 写主程序,功能部分
个人分类: R|4884 次阅读|0 个评论
怎样在Microsoft Visual Studio 2013 中建立一个工程(Project)
bigdataage 2014-3-26 00:13
怎样在Microsoft Visual Studio 2013 中建立一个工程(Project) 以 Microsoft Visual Studio Ultimate 2013(英文旗舰版) 中建立 C语言的 Project 为例: FILE - New - Project - Visual C++ - Win32 Console Application - 输入名字 - OK - Next -勾选 Empty project - Finish 在Solution Explorer区域,右击Source Files: Add - New Item - Visual C++ - C++ File (.cpp) -输入名字(C源代码的后缀必须为.c,不能为.cpp) - Add 这样就可以输入代码了。 编译: BUILD - Compile 或 Ctrl + F7 运行: DEBUG - Start Without Debugging 或 Ctrl + F5 步骤如下面几幅图所示:
8131 次阅读|0 个评论
visual studio 2012 项目属性 无法打开,弹出错误提示:未将对象
baibing 2013-1-13 18:01
在Visualstudio2012中,我想修改项目的包含路径和库路径,于是打开项目-属性,然后点击左侧的“VC++目录”,就弹出提示: “未将对象的引用设置到对象的实例”, 若有高手可以恢复一下怎么回事。 不过,从 视图- 属性管理器 的 Microsoft.Cpp.Win32.user 中进入“VC++目录”,从而达到我们修改其包含和库目录的目的。 这个道理在下面的 转载文章中有所介绍。 在VisualStudio2010中配置VC++目录 http://blog.sina.com.cn/s/blog_72824f680100ps4c.html VS 2010在“工具-选项-项目和解决方案-VC++ 目录”的功能已经被否决,不再提供设置,如下图: IMG title="在VisualStudio2010中配置VC++目录" name=image_operate_19001295597286724 alt="在VisualStudio2010中配置VC++目录" src="http://s4.sinaimg.cn/middle/72824f68t9a568278ad33690" action-type="show-slide" action-data="http%3A%2F%2Fs4.sinaimg.cn%2Fmiddle%2F72824f68t9a568278ad33%26690" real_src="http://s4.sinaimg.cn/middle/72824f68t9a568278ad33690" 但是每个工程都要在“项目-属性-配置属性-VC++ 目录”中一一设置如OpenCV之类的公共库文件目录是件很麻烦的事,如何解决呢? 方案一: 1、先打开任意一个VC项目,再打开VS2010的属性管理器(视图-其他窗口- 属性管理器 ),如下图。 IMG title="在VisualStudio2010中配置VC++目录" name=image_operate_57301295596888892 alt="在VisualStudio2010中配置VC++目录" src="http://s6.sinaimg.cn/middle/72824f68t9a568ea5d085690" width=248 height=292 real_src="http://s6.sinaimg.cn/middle/72824f68t9a568ea5d085690" 双击任意“Microsoft.Cpp.Win32.user”,弹出属性页,在里面设置VC++目录即可。这样,该设置对所有VC项目都有效,见下图。 IMG title="在VisualStudio2010中配置VC++目录" name=image_operate_12331295597279011 alt="在VisualStudio2010中配置VC++目录" src="http://s10.sinaimg.cn/middle/72824f68t9a56a942ae99690" width=690 height=494 action-type="show-slide" action-data="http%3A%2F%2Fs10.sinaimg.cn%2Fmiddle%2F72824f68t9a56a942ae99%26690" real_src="http://s10.sinaimg.cn/middle/72824f68t9a56a942ae99690" 其实这种方法修改的结果会保存到%USERPROFILE%\appdata\local\microsoft\msbuild\v4.0下面的文件: Microsoft.Cpp.Win32.user.props。如果是64平台则是反应到Microsoft.Cpp.X64.user.props文件中。这两个文件都是在安装VS2010时产生的。所以很容易想到方案二了。 方案二: 1、定位到 %USERPROFILE%\appdata\local\microsoft\msbuild\v4.0(可以通过运行,或直接在windows资源管理器的地址栏中输入)。 2、使用词本或其他文本编辑工具修改 Microsoft.Cpp.Win32.user.props或Microsoft.Cpp.X64.user.props文件中的相关字段。
8455 次阅读|0 个评论
Visual Studio 2012 中使用环境变量
baibing 2013-1-11 22:33
Visual  Studio 2012 中使用环境变量
Visual Studio 2012 中 已经不再像vs6.0 那样,提供针对整个个workspace的 include、 lib 等目录设置了。 而每一个项目都要设置针对自己的 这些目录,并且这是通过引用环境变量的方式方便设置的。 环境变量就是操作系统的那个环境变量,代表的是一系列的目录。在VS2012中进行目录设置时可以直接引用。 用户可以在项目配置中 如 Include为例,直接输入 引用的环境变量; 点击进入 编辑后,再点击宏,可以见到下图,底面用户可以在已有的环境变量库中搜索是否已有可用的环境变量。可以添加到上面的空白中。
1 次阅读|0 个评论
visual studio Ultimate 2012 安装
baibing 2013-1-10 17:06
1、安装 安装后,按照要求,重新启动,总是弹出 Cannot find one or more components,。。。 从而无法启动。 重装了3次,问题竟然又没有了。不知什么原因。 这是遇到的第一个问题。 第二个问题,编译出错,提示缺少文件。使用Appwizard生成的程序编译连接也出错,解决方法见2: 另一个问题是,以上只是配置项目,如何将include 和lib一劳永逸设置?? 参考3、 为Visual Studio添加默认INCLUDE包含路径一劳永逸的方法(更新) 2、 fatal error C1083: 无法打开包括文件:“SDKDDKVer.h” http://www.global-webnet.com/Blog/post/2012/04/14/Kinect-SkeletalViewer-Cannot-open-include-file-SDKDDKVerh-No-such-file-or-directory.aspx The solution is 3 easy steps... While evaluating C++ development for the Kinect (for my http://SolrContrib.CodePlex.com project) I ran into issues compiling the newly installed project from the Sample (on a fresh install of Windows 8 and Visual Studio 2011). In the end I found that "the juice wasn't worth the squeeze"; the C# demos performed just as well as the C++ demos(in the same task that will meet my concerns) with a fraction of the coding (and learning curve). Binging a solution wasn't productive - I am a C# developer (with no understanding of the C++ environment) trying to compile a project under Windows 8 using Visual Studio 2011. I learned early thatwhen you liveon the bleeding edge that sometimes youhave to bleed, I was hemorrhaging. I did however find an excellent clue within the VS11: C++ include directories not set correctly in new project bug reported on the Microsoft site. There was enough information to let me know that I required a "Windows Kits" folder (WindowsSdkDir) which will hold the SDKDDKVer.h. Long story short the Bing trail took me to the following: Windows Driver Kit (WDK) 8 Consumer Preview: http://msdn.microsoft.com/en-us/windows/hardware/hh852362 Step #1 - Download and install this development kit,I wasn't trying to create Windows Drivers, however I felt it was safe to assume it would have everything Windows Drivers developers required to compile their C++ applications. The assumption paid off; afterI installed it, along withthe Windows Driver Frameworks (WDF) Co-Installers it will recommend that you install, the folders were now available! But I was still not compiling! I went back to bug report and like Jennifer I did not have the required "/shared" folder in the Include directories path (which she manually added). HOWEVER, I did note a checkbox setting inherit from parent or project defaults as I stumbled around trying to find "HOW"includes worked in thisenvironment(using the following steps): Step #2 - comply with the following steps Right click on SkeletalViewer Project Select Properties Open Configuration Properties (ref SkeletalViewer Property Pages in image below) Selected VC++ Directories (not shown in image) Select Include Directories (shown in image below) Click the dropdown box (down arrow icon) that will appear to right of input field Select Edit (you will see Include Directories windows shown in image below) Click the Macros button and scroll down to the WindowsSDK_Include path (shown below) I saw how the $(WindowsSDK_includePath), included with "Inherited values", contained my /Shared folder!!! I clicked the Checkbox Inherit from parent or project defaults, exited all windows applying updates as applicable. I Hit compile and I got another error - this time for a .lib file (can't recall what it was). 白冰做法:WDK是默认安装在C:\Program Files\Windows Kits中,具体将C:\Program Files (x86)\Windows Kits\8.0\Include - shared - um - winrt 三个目录包含到项目中。 这也可以直接通过在项目设置中添加引用这个$(WindowsSDK_includePath) 变量来实现,这个环境变量已经存在了,可以在宏中查到。 Step #3 - I followed the same steps from 5 on for the Library Directories path. 白冰做法:将C:\Program Files\Windows Kits\8.0\Lib\win7\km\x86 包含到 这个项目中。 这里也可以建立和引用环境变量的方式:可是如何在visual studio中为自己的工程添加环境变量?参见4 I Hit compile and Walla! I can compile and run the KinectViewer application! 3、 为Visual Studio添加默认INCLUDE包含路径一劳永逸的方法(更新) 你是否曾经也有过这样的问题: 用VS的时候,有时会用到一些非自带的库,例如WTL、Boost、DX等,每次需要用到时都要在项目属性里添加相应的include目录,久而久之觉得有点麻烦。是否有解决办法呢? 于是我便在网上找相关资料,在StackOverflow网站上找到一篇相关的文章( 原文链接 ),文章里提到的一个办法是修改 C:\Users\user\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props 这个文件,在这个文件里添加需要include的目录,之前我一直是用这个方法,也没啥问题。 当我安装了VS2012之后,问题变出现了。在VS2012上新建一个MFC的工程,什么也没动,居然编译不通过,提示找不到某些文件,我便联想到了是不是之前修改了影响到了,于是我果断把修改的那个文件恢复成默认的内容,再试,结果就没问题了。。。可是这样就得每次都手动添加WTL的目录了。。我便开始翻VS的一些配置文件。 解决方案一: 修改 " VS安装目录中的\VC\VCWizards\default.vcxproj " 这个文件,(这其实就是个xml文件) 如我的目录是" D:\Program Files\Microsoft Visual Studio 11.0\VC\VCWizards\default.vcxproj " 如果我要添加的目录是" D:\Program Files\Microsoft Visual Studio 11.0\VC\WTL\include "; 用文本编辑器打开这个文件,定位到文件末尾,在 /Project 之前插入如下内容 PropertyGroup IncludePath $(VCInstallDir)\WTL\include;$(IncludePath) / IncludePath / PropertyGroup $(VCInstallDir)\WTL\include; 就是需要添加的目录了。 $(VCInstallDir) 是VS里的环境变量(在我的电脑上就是" D:\Program Files\Microsoft Visual Studio 11.0\VC "),表示VC的安装目录。 $(IncludePath) 是表示原有的路径。实际上最终得到的路径如图里四个 如果需要添加lib文件的路径的话。格式就是 LibraryPath/LibraryPath 添加完后保存即可,新建一个项目后,在项目属性里可以看到目录已经加进去了。大功告成,VS2010也是用同样的方法,只不过目录不同了。 解决方案二: 这个方法是结合了开头提到的StackOverflow网站上的修改方法。 依然是修改 " VS安装目录中的\VC\VCWizards\default.vcxproj " 这个文件,只不过这里修改的地方不同,用文本编辑器打开该文件,查找" $(UserRootDir)\Microsoft.Cpp.$(Platform).user.props "这段内容, 其实这里就是指向了我电脑上的那个文件 C:\Users\HwangBae\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props ;这里我就想到了,为VS2010和VS2012指定不同的文件, 将" $(UserRootDir)\Microsoft.Cpp.$(Platform).user.props "全部替换成" $(UserRootDir)\ VC11\ Microsoft.Cpp.$(Platform).user.props "。 然后在 C:\Users\HwangBae\AppData\Local\Microsoft\MSBuild\v4.0 这个目录下创建了两个文件夹,分别命名为VC10和VC11,然后将 Microsoft.Cpp.Win32.user.props 复制到这两个文件夹,然后除了这两个文件夹外的文件均可删除,其他的文件VS会在那两个文件夹里自动重新创建的; 然后编辑 Microsoft.Cpp.Win32.user.props 这个文件,在 Project 节点下按照方法一的步骤插入同样的代码。在VS2010的目录下也做同样的替换。到此就完事了。测试无任何问题。 总结一下这两种方法的区别,方法一修改后,只对新建的项目有效,在没修改之前创建的项目是无效的,而方法对于之前创建的项目也有效。哪种方法比较适合大家自己取舍。 转载请标明出处,原文地址: http://www.cnblogs.com/hwangbae/archive/2012/06/24/2560463.html 如果觉得本文对您有帮助,请支持一下,您的支持是我写作最大的动力,谢谢。 4、 可是 如何在visual studio中为自己的工程添加环境变量 ? 右击"我的电脑"--选择"属性"---选择"高级"--选择"环境变量"--就可以新建自己的环境变量名了 如: 变量名:MicrosoftSDKDir 变量值:C:\ProgramFiles\MicrosoftSDKs\ 如果要设置目录 C:\ProgramFiles\MicrosoftSDKs\Windows\v6.0\Include 以后就可以在VC中设置目录的时候可以(设置default.vcxproj中的 LibraryPath/LibraryPath ) $(MicrosoftSDKDir)Include 了 5、 WTL for Visual Studio 2012 配置详解 学习WTL有一段时间了,因前段时间去参加国赛耽搁几周,回来之后便继续学习,一直对VS2012有爱的我便想在12上面写WTL,上WTL的SVN看到,已经添加了对VS11 beta的支持,其实11就是2012。。于是我便down下来。 网上搜集了一些WTL环境的配置的资料,都写得不错,我在这里做更详细的补充。 Step1: 从WTL的SVN上获取所需的文件,这里需要两份文件 WTL include文件 http://wtl.svn.sourceforge.net/viewvc/wtl/trunk/wtl/include/?view=tar WTL wizard文件 http://wtl.svn.sourceforge.net/viewvc/wtl/trunk/wtl/Wizards/AppWiz/?view=tar 上面提供的仅是Win32所需要的文件,如果需要WTL的其他资源或整个项目,请访问下面的链接 http://wtl.svn.sourceforge.net/viewvc/wtl/?view=tar (以上链接请直接在浏览器打开,勿使用迅雷之类的工具下载) 下载下来是tar.gz的压缩包 可以使用WinRar或者7z之类的软件解压,我这里用WinRar,解压出来后得到两个文件夹 AppWiz就是将WTL添加到VS创建向导里的一些文件,include就是WTL的头文件。 在AppWiz文件里,有一个Files文件夹和多个setupxx.js文件 这些js脚本文件可以帮你将向导文件添加到VS的目录里,不同版本的VS对应不同的js文件 ,例如VS2012就是setup110.js (带x表示Express版本),这里我为了方便管理,需要做出一些修改; 找到" VS安装目录\VC\VCWizards\AppWiz "这个目录,如我电脑上就是" D:\Program Files\Microsoft Visual Studio 11.0\VC\VCWizards\AppWiz ", 在这个目录下新建一个 WTL 文件夹,然后将 Files 文件夹和 setup110.js 移动到WTL文件夹下。 然后将 Files 文件夹重命名为 Application ,然后用记事本编辑 setup110.js ,定位到第60行。 将 var strSourceFolder = FileSys.BuildPath(strValue, "Files"); 修改成 var strSourceFolder = FileSys.BuildPath(strValue, "Application"); 然后打开cmd,执行如下代码 wscript //e :jscript "D:\Program Files\Microsoft Visual Studio 11.0\VC\VCWizards\AppWiz\WTL\setup110.js" 执行完会提示应用程序向导安装成功。 这里再说下另一种方法,先不将Files改为Application,js文件也不修改,直接在cmd里执行安装,安装完后,将Files修改为Application,然后找到 D:\Program Files\Microsoft Visual Studio 11.0\VC\vcprojects\WTLAppWiz.vsz 这个文件,用记事本打开该文件 将第六行 Param="ABSOLUTE_PATH = D:\Program Files\Microsoft Visual Studio 11.0\VC\VCWizards\AppWiz\WTL\Files" 改成 Param="ABSOLUTE_PATH = D:\Program Files\Microsoft Visual Studio 11.0\VC\VCWizards\AppWiz\WTL\Application" 其实吧,不改也是没啥影响,只不过我比较蛋疼。。。。 到这里就完成了向导的添加,如果有洁癖可以把js文件删除掉了。 Step2: 添加WTL的头文件,解压出来的include文件夹下有这些头文件 我的做法是在 D:\Program Files\Microsoft Visual Studio 11.0\VC 下创建了一个WTL文件夹,将include文件夹放进WTL。(也可以放其他目录,配置include目录时改下即可) include目录的添加请参考我的另一片文章 为Visual Studio添加默认INCLUDE包含路径一劳永逸的方法 http://www.cnblogs.com/hwangbae/archive/2012/06/24/2560463.html 由于VFC还未更新对VS2012的支持,我这里就不写VFC的配置了。 如果配置的过程中遇到了问题,欢迎在博客留言讨论或者Email我。 欢迎转载本文章,但请标明出处,原文地址: http://www.cnblogs.com/hwangbae/archive/2012/06/27/2565591.html 如果觉得本文对您有帮助,请支持一下,您的支持是我写作最大的动力,谢谢。 FAQ A: 在cmd里执行js脚本时出现错误: 没有文件扩展 “.js” 的脚本引擎。 怎么解决: Q: 打开注册表编辑器,定位到HKEY_CLASSES_ROOT\.js,将默认值改成JSFILE。
个人分类: 编程|106 次阅读|0 个评论
Microsoft visual studio 2008 + Intel.Visual.Fortran.Compiler
yaozhixiong 2013-1-2 11:41
Microsoft visual studio 2008 Intel.Visual.Fortran.Compiler.Professional.v11.0.061 试试这个来编程
个人分类: fortran|3921 次阅读|0 个评论
Visua Studio 2008 编译 cminpack
runningabc 2012-7-14 14:08
minpack有fortran版的和c/c++版的,后者称为cminpack 在cminpack的网站 http://devernay.free.fr/hacks/cminpack/index.html 中提到了cminpack相对于fortran的一些优点。其中一个优点就是cminpack中传入的函数指针的原型相比于fortran的minpack增加了一个void*型的指针,这个传入的指针有大作用,所有在函数体内部需要使用的相关参数都可以通过这个参数给传递进来。比如我们可以将所有参数组合定义为一个结构体,然后将指向该结构体的指针当做参数传递到该函数中。而在fortran当中,我们得定义一些全局变量来实现相同的功能,这对于大规模程序开发来说是不利的。 废话不多说了,从以上网站中找到相应的链接下载cminpack源程序 http://devernay.free.fr/hacks/cminpack/cminpack-1.3.0.tar.gz 解压后,找到cminpack.sln 我这里用的是Visual studio 2008,双击打开后会提示进行转换。 转换完成后,进行编译。 很遗憾,编译的时候报错了: 1------ 已启动生成: 项目: cminpack, 配置: Debug Win32 ------ 2------ 已启动生成: 项目: cminpack_dll, 配置: Debug Win32 ------ 2cminpack_dll : warning PRJ0009 : 未能打开生成日志进行写入。 2请确保该文件未被其他进程打开并且未被写保护。 1正在编译... 2正在编译... 1cl: 命令行 warning D9035 :“Wp64”选项已否决,并将在将来的版本中移除 1lmpar.c 2cl: 命令行 warning D9035 :“Wp64”选项已否决,并将在将来的版本中移除 2lmpar.c 1d:\my projects\mylib\cminpack-1.3.0\lmpar.c(219) : error C2143: 语法错误 : 缺少“;”(在“类型”的前面) 1d:\my projects\mylib\cminpack-1.3.0\lmpar.c(220) : error C2065: “i”: 未声明的标识符 1d:\my projects\mylib\cminpack-1.3.0\lmpar.c(220) : error C2065: “i”: 未声明的标识符 1d:\my projects\mylib\cminpack-1.3.0\lmpar.c(220) : error C2065: “i”: 未声明的标识符 1d:\my projects\mylib\cminpack-1.3.0\lmpar.c(221) : error C2065: “i”: 未声明的标识符 1d:\my projects\mylib\cminpack-1.3.0\lmpar.c(221) : error C2065: “i”: 未声明的标识符 2d:\my projects\mylib\cminpack-1.3.0\lmpar.c(219) : error C2143: 语法错误 : 缺少“;”(在“类型”的前面) 2d:\my projects\mylib\cminpack-1.3.0\lmpar.c(220) : error C2065: “i”: 未声明的标识符 2d:\my projects\mylib\cminpack-1.3.0\lmpar.c(220) : error C2065: “i”: 未声明的标识符 2d:\my projects\mylib\cminpack-1.3.0\lmpar.c(220) : error C2065: “i”: 未声明的标识符 2d:\my projects\mylib\cminpack-1.3.0\lmpar.c(221) : error C2065: “i”: 未声明的标识符 2d:\my projects\mylib\cminpack-1.3.0\lmpar.c(221) : error C2065: “i”: 未声明的标识符 2生成日志保存在“file://d:\My Projects\MyLib\cminpack-1.3.0\Debug\BuildLog.htm” 1生成日志保存在“file://d:\My Projects\MyLib\cminpack-1.3.0\Debug\BuildLog.htm” 1cminpack - 6 个错误,0 个警告 2cminpack_dll - 6 个错误,1 个警告 ========== 生成: 成功 0 个,失败 2 个,最新 0 个,跳过 0 个 ========== 容易发现,错误出在impar.c这个源文件当中。 找到219行,将 int i; 这行代码注释起来,然后跳到131行,加上一行代码 int i; 重新编译,这次编译通过了,不过有一个小小的warning cl: 命令行 warning D9035 :“Wp64”选项已否决,并将在将来的版本中移除 这个warning无关紧要,不过如果你想更清爽一点的话 找到:项目==cminpack属性==C/C++==常规==检测64位可移植性问题,设置为“否” OK,重新编译,这下整个世界就清净了。 1------ 已启动生成: 项目: cminpack, 配置: Debug Win32 ------ 1正在编译... 1chkder_.c 1covar.c 1covar1.c 1covar_.c 1dogleg.c 1dogleg_.c 1dpmpar.c 1dpmpar_.c 1enorm.c 1enorm_.c 1fdjac1.c 1fdjac1_.c 1fdjac2.c 1fdjac2_.c 1hybrd.c 1hybrd1.c 1hybrd1_.c 1hybrd_.c 1hybrj.c 1hybrj1.c 1正在生成代码... 1正在编译... 1hybrj1_.c 1hybrj_.c 1lmder.c 1lmder1.c 1lmder1_.c 1lmder_.c 1lmdif.c 1lmdif1.c 1lmdif1_.c 1lmdif_.c 1lmpar.c 1lmpar_.c 1lmstr.c 1lmstr1.c 1lmstr1_.c 1lmstr_.c 1qform.c 1qform_.c 1qrfac.c 1qrfac_.c 1正在生成代码... 1正在编译... 1qrsolv.c 1qrsolv_.c 1r1mpyq.c 1r1mpyq_.c 1r1updt.c 1r1updt_.c 1rwupdt.c 1rwupdt_.c 1chkder.c 1正在生成代码... 1正在创建库... 1生成日志保存在“file://d:\My Projects\MyLib\cminpack-1.3.0\Debug\BuildLog.htm” 1cminpack - 0 个错误,0 个警告 ========== 生成: 成功 1 个,失败 0 个,最新 1 个,跳过 0 个 ==========
7391 次阅读|0 个评论
[转载]qt 4.5 与 visual studio 集成
romanhead 2010-11-24 19:12
qt 4.5 与 visual studio 集成 转自: http://blog.csdn.net/soulmachine/archive/2009/04/06/4049631.aspx 本文主要讲述将 Qt 4.5 与 Visual Studio 2008 集成,同样适用于 Visual Studio 2005, 2003 。 Qt 4.5 虽然新增了 LGPL 协议,但这也阻碍了我们在 VS 中使用 Qt 。因为免费开源的版本只提供了 GCC 编译好的二进制库,而没有 VC 编译好的二进制库,只有商业版本才有 VS 编译好的针对 Windows 的 DLL , lib 等二进制库(恩,可以理解)。 再者, VC 编译器比 GCC 还是要强劲很多,并且调试器异常强大。 Qt Creator 虽然很酷,目前还很粗糙。很多人也更为熟悉 VS 的界面。 下面我们就自己用 VS 编译出二进制库,然后就可以跟商业版一样了。 不过,你也可以直接 googleqt 4.5 编译好,找到很多人已经编译好的二进制库,下载下来直接用。下面的内容可以不看了 ^_^ 1. 下载并安装 qt-sdk-win-opensource-2009.01.exe ,安装到默认的 c:\qt\2009.01 。它包含了 MingGW 和 Qt Creator ,以及预编译好的二进制文件(用 GCC 编译的)。你可以直接使用 Qt Creator 开始开发工作,不需要任何额外的配置。 2. 将整个目录 c:\qt\2009.01 拷贝一份到 c:\qt\4.5.0-vc 。我们将会修改目录 c:\qt\4.5.0-vc ,使用 VC++ 来编译出所需要的库。这两个目录可以同时存在, Qt 使用 c:\qt\2009.01 , Visual Studio 使用 c:\qt\4.5.0-vc 。 3. 修改 C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\ 下的 vsvars32.bat ,在环境变量 PATH 中添加 Qt 的目录,如 c:\qt\4.5.0-vc\qt ,在 INCLUDE 添加上 c:\qt\4.5.0-vc\qt\include ,在 LIB 添加 c:\qt\4.5.0-vc\qt\include ,如: @set PATH=C:\Qt\4.5.0-vc\qt;c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN;c:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools;c:\Windows\Microsoft.NET\Framework\v3.5;c:\Windows\Microsoft.NET\Framework\v2.0.50727;c:\Program Files\Microsoft Visual Studio 9.0\VC\VCPackages;%PATH% @set INCLUDE=C:\Qt\4.5.0-vc\qt\include;c:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\INCLUDE;c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE;%INCLUDE% @set LIB=C:\Qt\4.5.0-vc\qt\lib;c:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB;c:\Program Files\Microsoft Visual Studio 9.0\VC\LIB;%LIB% 打开一个 cmd 命令行窗口,把这个文件拖过来执行,这样,你打开的 cmd 就具有上面设置的环境变量了,但是这些变量只针对你当前的 cmd ,不会更改本机配置,所以,不要关闭 cmd 窗口,你需要在这个 CMD 窗口中完成接下来的命令。 (网上很多没有这一步,会导致下面的 configure 失败) 4. 执行 c:\ cd c:\qt\4.5.0-vc\qt c:\qt\4.5.0-vc\qt configure -no-sql-sqlite -no-qt3support -no-opengl -platform win32-msvc2008 -no-libtiff -no-dbus -no-phonon -no-phonon-backend -no-webkit (这一步如果像这样编译的话,会导致tiff等图片不能被识别。应改成:) configure -debug-and-release -static -platform win32-msvc2008 -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -plugin-sql-sqlite -plugin-sql-odbc -no-qt3support -no-mmx -no-3dnow -no-sse -no-sse2 -no-openssl -no-dbus -no-phonon -no-phonon-backend -no-webkit -no-scripttools -no-dsp -no-vcproj 上面这行命令,你可以按自己的需要修改,但注意一定要指明 -platform 后的参数,指明想要配置成那个版本的 VS 。例如系想要编译成 VS2005 (当然前提是你已经安装了 VS2005 ),就换成 win32-msvc2005 。这一步会生成一个 makefile 供 nmake 编译生成所有的库。这一步要花点时间,大概 30 分钟。 5. 输入 nmake ,回车,开始编译。这一步跟漫长,我的大概编译了 3 个小时 ~~ 注意: 如果你是 Windows 7 下,这里多半会失败,因为 Win 7 SDK 有 Bug ,在 binary 没有 resouce 区域的时候 mt 程序是不能把 manifest 添加到 binary 中的(参考: http://download.microsoft.com/download/8/8/0/8808A472-6450-4723-9C87-977069714B27/ReleaseNotes.Htm ),所以我们需要做一些修改才行, 第一步,在 CMD 下执行如下命令 c:\qt\4.5.0-vc\qtecho.hello.rc c:\qt\4.5.0-vc\qt rc.exe /r hello.rc 得到 c:\qt\4.5.0-vc\qt\hello.res 资源文件。 第二步,修改 qmake 配置文件,使得 Makefile 的链接命令中会把 hello.res 一并链接到 binary 中。修改 mkspecs\win32-msvc2005 目录下的 qmake.conf 文件第 52 行为 QMAKE_LFLAGS = /NOLOGO C:\Qt\4.5.0-vc\qt\hello.res 这样任何 link 命令都必然会链接 hello.res 文件。 然后才能输入 nmake 开始编译。 6. 安装官方的 VS 插件 qt-vs-addin-1.0.0-beta.exe , 7. 启动 Visual Studio ,选择菜单 Qt-Qt Options ,在 Qt Verions 选项卡点击 Add , Version Name 随便填,例如 qt4.5.0-vc ,路径则输入 C:\Qt\4.5.0-vc\qt 。(网上的资料有说要建立环境变量 QTDIR= C:\Qt\4.5.0-vc\qt ,我个人认为是不必要的)。 同时在 我的电脑-属性- Advanced system setting-enviroment variables中给path添加C:\Qt\4.5.0-vc\bin; 8. 现在你的 Visual Studio 完全具备了 Qt 的所有功能,新建一个 Qt 工程编译运行试一试! (编译好后,在 VS 下点击 Debug-Debug without debuggine 可以看见程序运行的效果,不过 如果直接到 debug 目录下双击这个 exe 文件,会提示找不到 QtCore4d.dll ,这时你需要把 C:\Qt\4.5.0-vc\qt\bin 加入到 PATH 环境变量,这目录下还有 QtCore4.dll ,都是上面编译出来的)。 不过你现在的环境是集成了 LGPL 版 Qt 的 VS ,跟商业版的还是有点不同。例如 Qt Desiner (资源设计器)不是嵌入到 VS 得,需要通过菜单 Qt-Launch Desiner 来执行(商业版直接双击 .ui 文件就会启动 Qt Desiner )。不过这无关紧要,只是多点几下鼠标而已。 点击 Qt-Launch Linguist 可以启动 Qt Linguist ,它是一款本地化工具,也十分有用。
个人分类: 生活点滴|3468 次阅读|0 个评论
[转载]Visual Studio 2008安装失败 "Web 创作组件"无法安装
zdpbeauty 2010-4-15 16:39
Visual Studio 2008 中文正式版可以从微软网站下载试用了,因为之前用英文版感觉比2005快一些,虽然.NET Framework 3.5有点庞大,但还是可以选择开发2.0的项目,因此打算立马安装。试用期为三个月,足够长了,因此安装Team System版本,体验一下新特性。但是最担心的事情还是发生了无法安装。 问题出在哪里呢?我打算找出原因,试图解决问题。 因为除Visual Studio本身以外,VS安装过程中安装的其他附带安装的组件,基本上都是有单独安装包的。先找到Visual Studio Web 创作组件的独立安装包,试试单独安装能不能成功。 果然,在安装DVD的\WCU\WebDesignerCore文件夹中找到了Visual Studio Web 创作组件的安装程序。将其复制到硬盘上并解压缩,可以发现该组件使用的是Office 2007的安装方式,运行其中的setup.exe,出现与Office 2007相同的安装程序界面。单击立即安装,结果出现找不到office.zh-cn文件夹中文件的对话框,选择了安装程序所在的正确位置并确定,又再一次弹出同样的窗口,安装无法继续: 仔细核对文件名,确定安装文件夹中的确有需要的文件,但为什么还是提示找不到呢? 既然这个组件使用Office 2007的安装方式,文件夹中也有office.zh-cn这个和Office 2007共有的组件,那会不会是因为Office 2007的问题,导致Visual Studio Web 创作组件无法安装呢? 打开Vista中的程序和功能,选择Office 2007,并单击更改按钮,在弹出的安装程序界面中,选择修复,并继续, 果然不出所料,这时也出现了同样的找不到安装文件的对话框,基本确定是因为Office 2007的问题导致Visual Studio 安装失败。 这时想起来,在安装Office时,安装程序默认情况下会将安装文件缓存在系统分区的隐藏文件夹MSOCache中,安装完成后并不会将其删除。由于这个文件夹实在是太大了,平常用Office其实并不需要它,因此安装完Office之后就手动将其删除了,而在修复Office组件时,需要访问MSOCache文件夹中的安装文件,所以就出现了以上问题。以往的经验是,已删除MSOCache文件夹时,可以放入Office原来的安装光盘,即可顺利修复。 于是直接放入Office 2007的安装光盘,在弹出寻找文件的对话框时,指向安装盘中office.zh-cn文件夹所在的位置(一般是光驱根目录),Office 2007被成功修复,这时再安装Visual Studio Web 创作组件,也顺利的安装上了: 接下来启动Visua Studio 2008安装程序,也顺利的安装,没有再遇到问题。安装完成后可以再次删除安装Visual Studio Web 创作组件时缓存下来的MSOCache文件夹(注意是隐藏文件夹)。 至此终于找到原因,原来是因为Office 2007的安装源缓存MSOCache文件夹被用户删除导致的。只要找到Office 2007的安装文件,即可顺利安装Visual Studio Web 创作组件。 最后还要考虑一个问题,为什么指向Visual Studio Web 创作组件安装程序中的office.zh-cn文件夹无法通过验证,而Office 2007安装盘中的office.zh-cn文件就可以呢?对比两个文件夹发现,其中只有OfficeLR.cab、officemui.msi、officemui.xml三个文件不同,而前两个主要文件,仅仅是数字签名日期不同。可能是由于系统中已经安装了Office 2007,而记录了这些安装程序的哈希值,安装程序只承认Office 2007的安装文件版本,而不接受其他的版本。 详细出处参考: http://www.jb51.net/article/15126.htm VS2008中文试用版刚出来不久就上网拖了下来 可是 安装 的时候却出问题了。后来,Google了下,把自己遇到的问题和解决方法跟大家分享。 1.让试用版变成正式版 从Microsoft那下了7个压缩文件分包后,解压后是一个ISO文件。 我用UltraISO编辑了下ISO文件:Setup--setup.sdb文件提取出来编辑,将 T2CRQGDKBVW7KJR8C6CKXMW3D 改成 PYHYPWXB3BB2CCMV9DX9VDY8T 这样,安装的时候就默认是这个正版的序列号了。 还有一种方法就是,不改这个文件,安装后,再添加删除程序的时候可以输入序列号: PYHYP-WXB3B-B2CCM-V9DX9-VDY8T 也可以变成正版。 好了,可以安装了^_^ 顺便把下载连接贴出来: 官方下载地址: http://www.microsoft.com/downloa ... p;displaylang=zh-cn 或直接下载压缩: http://download.microsoft.com/do ... SX1429243.part1.exe http://download.microsoft.com/do ... SX1429243.part2.rar http://download.microsoft.com/do ... SX1429243.part3.rar http://download.microsoft.com/do ... SX1429243.part4.rar http://download.microsoft.com/do ... SX1429243.part5.rar http://download.microsoft.com/do ... SX1429243.part6.rar http://download.microsoft.com/do ... SX1429243.part7.rar 团队资源管理器: http://download.microsoft.com/do ... TeamExplorerCHS.iso 一些VS2008介绍及学习资料: Visual Studio 2008的性能改进以及十大新功能: http://news.csdn.net/n/20080125/113132.html CSDN--Visual Studio 2008专题 http://subject.csdn.net/vs2008/
个人分类: 网络编程|3699 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-4 15:39

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部