开发环境的纠结

来源:互联网 发布:linux pdf 编辑:程序博客网 时间:2024/06/09 04:55
近来换了个硬盘,于是想打造一个全面一点的工作环境,最终结果——失败!
不过其中有很多走不通的路值得记录。
1. VS2013目前还是无法在不联网的机器上安装。我下载的是破解版的安装包VS2013_RTM_ULT_CHS,不过安装好之后,首先打开就提示有一些包无法载入,如NutGet,SQL Server等,然后无法编译MFC、windows等程序。当然,编译器还是好的,编译与windows无关的程序还是没问题,但是如果编写的都是与windows完全无关的程序,那谁还用VS2013,GCC4.8明显好得多。其次,编译windows相关程序时,第一条就是提示windowssdkdir环境变量没有注册,然后就是一堆缺头文件、解决头文件就缺kernel32.lib等库、解决库就有一堆无法识别的外部符号。网上查了,只有两种方法解决,一是下载windows kits(win8的sdk开发包),但悲剧的是到2014年3月为止只有在线安装包;另外一种是联网安装,在安装过程中vs2013会自动对一些程序verify,如果失败则有很多安装不了,联网verify成功就OK了。至于COPY安装好的VS2013,然后设置对应的环境变量等方法,我尝试了,而且很耗时间,最后失败了,vs2013的安装之后影响的目录实在太多了,并且总是找不到配置文件,比如怎么修改vs2013包含目录的默认继承宏(or 添加一个?)。而且注册表里面关于vs2013的地方也很多很杂;终于努力了两天之后,放弃!
2. Qt5.2.1-mingw48版死活安装不成功,怎么安装都是编译的时候g++:error:CreateProcess no such file and directory.更换了另外一个安装版的g++,是能编译通过了,但是无法定位程序入口于libstdc++6.dll。网上查了说是mingw48有两个版本,而我安装的这两个mingw(qt中自带的不能编译的和自己安装的可以编译的)刚好是两个不同的版本,然后就前者不能编译,后者可以嵌入前者编译,但是后者死活无法运行。我测试过,用前者,即使独立出来使用g++也不能编译,是所有程序都无法编译;而后者对于qt以外创建的其他程序还是可以编译、可以运行的。所以,qt5.2.1的mingw版本至少在自己电脑上水土不服。估计可能可以下载qt5.2.1的源码,然后自己用mingw48编译成功,或许可以用。这个留待有时间再使用吧。
3. qt5.2.1无法连接vs2010的调试器。网上说可以下载winsdk_web.exe来在线安装调试工具。但是,下载下来的winsdk_web.exe在安装的时候出现一个提示,具体记不太清,意思是说“原来的账号已经过期,要连接到安装源,需要输入用户名和密码”然后我不知道有什么用户名和密码,然后我就自己随便输入一个,然后就出错了,然后再安装连用户名和密码也不让输入了,直接出错,然后……然后就安装失败了。
4. 纠结了好几趟,终于发现,要用就用成熟的、用开源的环境,而且网上查了一下,对于强大的c++11特性,gcc4.8是所有编译器里面支持最好的。而且它在linux上还是原生态的64位。不过在windows上自己测试了一下,用gcc4.8 32位编译出来的程序和vs2010、vs2013编译的32位程序还是运行速度有所不如,一个很长的for循环,gcc4.8编译出来的运行码比vs2010慢10-15%,比vs2013慢25-30%,恰好,vs2010相同模式也比vs2013慢10-15%。vs2010的release模式下的去调试和vs2013的debug模式下的带调试速度相当。  不过值得注意的是,这里的gcc4.8编译时debug模式,还有是否gcc也有类似vs的debug去调试模式,其release是否也有带调试和去调试两种,不得而知。
5. 最后,选择了qt5.2.1的vs2010版,以及vs2010,以及qtaddin-1.2.2作为目前工作环境。待到手头工作告一段落,果断换linux和gcc。一个需要克服的问题是,linux下C++编程是否具有好一点的带智能提示的IDE,否则初期编程效率还是会有所下降,不过没关系,换linux是必须的。

2014年3月16日 周日
0 0
原创粉丝点击