[VS2017][CUDA]更新visual studio 2017 v15.6.1之后遇到的问题[当前页面的脚本发生错误等]
今天不知道為什么手賤更新了一下VS2017,把版本號(hào)從14.1.1直接提到了15.6.1。
啊啊啊我珍貴的14.1.1版本啊,就這么沒(méi)了==
緊接而來(lái)的是兩個(gè)問(wèn)題,一個(gè)是CUDA9.1跟不上VS2017的更新節(jié)奏,果不其然爆炸了;另一個(gè)是舊版本IE對(duì)VS2017-15.6.1兼容的問(wèn)題。
--------------------------
先說(shuō)VS2017-15.6.1跟舊版本IE的兼容問(wèn)題。
首先我的IE比較舊,是IE9.0.8112,這個(gè)主要是為了在開(kāi)發(fā)時(shí)測(cè)試頁(yè)面、JS腳本跟舊版本IE的兼容及顯示問(wèn)題的。但是IE跟JS之間一直是比較“曖昧”的,MS一遍在推廣自己的JS架構(gòu),一邊在瀏覽器對(duì)象間跟谷歌各自搞一種套路。這些都是背景。
當(dāng)我用VS2017進(jìn)行調(diào)試時(shí),彈出了這樣一個(gè)框:
很明顯這就是舊IE在解釋JS腳本時(shí),對(duì)對(duì)象解釋時(shí),文末","報(bào)錯(cuò)的問(wèn)題。比如:
var a = {f : 120, // 這個(gè),一加就會(huì)報(bào)錯(cuò) }; 解決問(wèn)題當(dāng)然是手動(dòng)到\Common7\IDE\PrivateAssemblies\plugin.vs.js里一行一行改了。不過(guò)這里還有更快的方法,那就是更新IE。當(dāng)然備份這個(gè)文件之后,然后索性直接把這個(gè)文件刪了也沒(méi)有什么大的問(wèn)題,一般情況下用不著它。
其次是會(huì)報(bào)錯(cuò):對(duì)象沒(méi)有addEventListener這個(gè)方法。
這個(gè)更簡(jiǎn)單,不用更新IE,直接打開(kāi)相關(guān)文件,把這個(gè)方法更改為舊版本window對(duì)象中的attachEvent()即可。
--------------------------
接著說(shuō)CUDA9.1的問(wèn)題。CUDA追不上VS的更新速度已經(jīng)是眾所周知的了,此次更新之后又遇到了下面這個(gè)問(wèn)題:
error -- unsupported Microsoft Visual Studio version! Only the versions 2012, 2013, 2015 and 2017 are supported! 按照往常的經(jīng)驗(yàn),強(qiáng)行把CUDA的預(yù)編譯檢測(cè)中對(duì)VS的版本限制改高就行了:打開(kāi)C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include\crt\host_config.h,把第133行的:
#if _MSC_VER < 1600 || _MSC_VER > 1911改為:
#if _MSC_VER < 1600 || _MSC_VER > 1920 // 只要版本號(hào)夠高就行,隨便挑個(gè)數(shù)字
但這次問(wèn)題有點(diǎn)嚴(yán)峻。因?yàn)閂S14.x和VS15.x在編譯方面做出了修改,所以依舊會(huì)出現(xiàn)以下錯(cuò)誤:
解決方法是打開(kāi) visual studio installer-修改-單個(gè)組件,把下面這個(gè)東西裝上:(對(duì)的,就是去用老版本的VC++)
然后:項(xiàng)目-$項(xiàng)目名屬性-把工具集換成2015的:
接著,點(diǎn)擊:生成-重新生成。
總結(jié)
以上是生活随笔為你收集整理的[VS2017][CUDA]更新visual studio 2017 v15.6.1之后遇到的问题[当前页面的脚本发生错误等]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 常见WAF_WEB应用防火墙_运维必备_
- 下一篇: ubuntu 安装gnome3