开发环境的纠结
来源:互联网 发布: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日 周日
不过其中有很多走不通的路值得记录。
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
- 开发环境的纠结
- 开发板选择的纠结
- 谈谈javaEE开发相关的eclipse环境配置问题(往往这个出错会纠结一天...)
- 送给“正在纠结”、“准备纠结”的前端开发们
- 不再纠结环境
- 《萌江湖》研发分享 毫不纠结的功能开发
- 反纠结app开发: activity之间的数据传递
- 纠结的忧伤 纠结的爱
- 纠结的人生,纠结的工作
- iphone开发证书 纠结许久
- 纠结的一天!!!
- 好纠结的一天
- 关于继承的纠结
- 纠结的人生
- 纠结的unsigned类型
- 纠结的poj1573.。。
- 纠结的镜头
- 纠结过后的决定
- MoSync 自动打包apk 脚本
- 深入理解Lua与C数据通信的栈
- Win7搭建CVS服务器
- matlab to opencv(CV::Mat)
- 用VB编写键盘拦截程序
- 开发环境的纠结
- ASP.NET 2.0高级控件之FileUpload控件
- Struts2数据传输的背后机制:ValueStack(值栈)(转载)【很经典】
- 用VB实现客户——服务器(TCP/IP)编程实例
- C++ 如何引用DLL
- 用枚举来实现一个交通灯
- 手工释放linux内存——/proc/sys/vm/drop_caches
- 各大IT公司 技术博客汇总
- 谈改变,开始python之路(心情篇)