1. 程式人生 > >解決InfiniTAM在windows下的cuda問題

解決InfiniTAM在windows下的cuda問題

前情提要

接之前的工作,今天我們繼續來搞InfiniTAM工程的配置問題,之前經過一頓操作找各種問題,最終確定了我的各種配置沒有錯,僅僅是cuda的問題,真的是“一頓操作猛如虎,回頭一看零槓五”。於是我們今天就cuda這個版本問題出發,來解決一下我們工程的配置問題;

Cuda版本

這次我們老老實實的按照InfiniTAM工程說明上所說的,選擇cuda 6.0或7.0版本,我這裡選擇的是7.0;

在nvidida網站上下載,發現有將近1個G的軟體包,並且軟體包是win8系統,win10系統應該也沒問題,好現在讓它下載,我需要起來去倒杯水。

下載下來雙擊安裝就可以了,安裝過程中會提示你關掉VS,好的,我們繼續,安裝完成後需要重啟電腦。

安裝的目錄為C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0,路徑是預設的,無法更改,有點暴力哈。

回到Cmake

接下來是回到cmake配置cuda引數,這塊應該不太好弄,我得上網找點成功的案例,另外我們要配置的全部是用x64位的,基於之前的經驗,配置工程與32位或64位並沒有什麼關係。

先直接改

不管那麼多,先把cuda勾選,直接把cuda root改成7.0的,編譯執行下試試,如果成功,則今天就到此結束,不過我覺得應該沒那麼簡單,在配環境的路上總是隱隱感到不安。

果然沒讓我失望,問題依舊存在,不要慌,我們找方法解決一下;

ITMLib_generated_CUDAInstantiations.cu.obj

首先根據報錯資訊我們知道是有一個工程檔案.cu.obj

生成錯誤,還有一個ITMLib.lib連結錯誤,應該是ITMLib子工程沒有生成對應的lib,那麼網上找找吧,這個問題一定是沒有找到對應的cuda庫,所以編譯連結出了問題;因為工程中有若干個子工程,子工程對子工程有庫依賴,那某些子工程編譯不成功則勢必會導致連結問題;

經過定位是ITMLib也就是生成那個ITMlib.lib的子工程,我們來解決cuda連結的問題;

cuda配置

換編譯工具

上面這個問題搞我好久,ITMLib裡的程式碼也看了看,發現不是程式碼問題,還是編譯問題,因為我cmake工程選擇的是2017的VS(用2013無法構建,具體原因不詳,總不能現在去搞一遍cmake吧),而開啟的時候用的2013編譯(用2017編譯會有報錯)成功,所以我想可能這裡會出現問題。

於是把2017解除安裝掉(或者都裝得了),裝一個2015,2013,2010;

用2010開啟編譯,發現錯誤:

 fatal error C1083: 無法開啟包括檔案:“mutex”: No such file or directory

查了一下發現是因為vs 2010並不支援c++ 11,於是放棄10版本;

用2013開啟編譯,在cmake裡發現錯誤:

Failed to run MSBuild command:      
C:/Program Files (x86)/MSBuild/12.0/bin/MSBuild.exe

查了一下,Stack Overflow上說是要讓用Visual Studio 15 2017去編譯,那就只好用2017來搞吧;

NVCC

看到了一句話,看來還是得用2013搞啊,或者從nvcc下手,先用2013來解決,仍然是不能生成ITMLib_generated_CUDAInstantiations.cu.obj,那麼現在定位到問題了,是跟這個nvcc有關;

有的時候網上的經驗真的不能信,cmake版本也是有要求的好嘛,下了一個cmake3.1.3來繼續搞,我們得跟著別人成功的經驗走,這下選擇2013進行編譯的時候,出現下面錯誤:

No CMAKE_C_COMPILER could be found.

我有點想吐了。。。

WTF,最怕這種盲目不知道該怎麼解決的情況。。。

最後我要把所有的版本全部刪掉,留一個2013版本,用排除法解決;但是現在還沒有搞通就很煩,唉,生命真的在於折騰嗎?

PS:

並且得到了一個VS對應的版本資訊:

 Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files. 
                                 Optional [arch] can be "Win64" or "ARM".    
  Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files. 
                                 Optional [arch] can be "Win64" or "ARM".    
  Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files. 
                                 Optional [arch] can be "Win64" or "ARM".    
  Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files. 
                                 Optional [arch] can be "Win64" or "ARM".    
  Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files. 
                                 Optional [arch] can be "Win64" or "IA64".   
  Visual Studio 9 2008 [arch]  = Generates Visual Studio 2008 project files. 
                                 Optional [arch] can be "Win64" or "IA64". 

Visual Studio

相關推薦

解決MACPHP連接MYSQL錯誤Warning: mysql_connect(): No such file or directory in conn.php

命令 data hpu mar 找到 clas p s connect file 今天在mac上用php去連接mysql數據庫,出現了 mac PHP Warning: mysql_connect(): [2002] No such file...

解決jenkins使用HTML Publisher插件後查看html報告顯示不正常 以jmeter報告為例

com 顯示不全 rip lis support https ima 註意 jenkins jenkins 配置使用html publisher查看jmeter html報告時,發現顯示不全,很多東西顯示不了。 項目配置: 查看html報告異常(很多資源無法加載)

解決archlinuxQT程序,以及wineQQ無法輸入中文(.xinitrc)

light hup blog arc program xinitrc 無法 wineqq qt5 昨天安了i3wm,發現fcitx在很多程序中無法輸入中文,nixnote2,還有ss-qt5 查了wiki,明明有在~/.xinitrc中加入 export [email&#

hadoop解決windows:Failed to set permissions of path: mp .staging to 0700

1.0 style ati 配置文件 github unable ica perm lac 17/04/24 15:32:44 WARN util.NativeCodeLoader: Unable to load native-Hadoop library for your

解決win無法ping通VM虛擬機CentOS系統的方法

可能 ifconfig linu 說我 退出 時也 win 原因 network 事情描述:公司遷新址,電腦帶過去之後,用xshell連接vm的centos系統老是連接失敗,然後考慮到公司遷新址這個情況,我首先懷疑是ip的問題,然後在vm中執行ifconfig找到cento

解決導航圖片不能按需加載的問題減少對資源請求數量

-m 轉換 不能 art 介紹 ron containe swipe 之前 問題描述:在一個三段式的navbar中,各段下面有一個長圖(類似這樣的) 在優化之前需要加載三張大圖這無疑增加了資源請求數量 因此,我想到了將圖片轉換為背景以此減少請求沒想到方案是可行的,上

解決Linux server和client 通過TCP通訊:accept成功接收卻報錯的問題

ipv4 socket error 實例代碼 ... lis col argc 例子   今天在寫簡單的TCP通訊例子的時候,遇到了一個問題:server 和client能夠連接成功,並且client也能夠正常發送,但server就是接收不到,在網上搜索一番後,終於解決了問

解決Firefoxiconfont不顯示的問題

腳本 增加 頭部 服務器 styles www val 放大 可能 http://www.cnblogs.com/freshman0216/p/3825166.html 何為跨域訪問,為什麽會有跨域限制?一切還得從瀏覽器的同源策略說起。 同源策略:是

[轉載[完美解決 Linux Sublime Text 中文輸入

.html void region sometimes pkg time pre install amp 原文地址: http://www.cnblogs.com/wangkongming/p/4302642.html 轉來備忘。 系統CentOS7.3 fcitx 中文輸

解決Windows棧內存過小的問題

問題 cnblogs 需要 brush log windows true blog -- 本地是windows環境 這個需要對你的IDE進行更改 拿Dev-C++來說 加入一條編譯命令就好 -Wl,--stack=64000000000 評測機是

解決macssh空閑一段時間自動斷開的問題

時間間隔 保持 linu 遠程 conf etc style con class 之前在公司就遇到過這種問題,使用ssh登錄linux服務器後,在後臺放置一段時間,會發現會自動斷開,解決的方法很簡單: vim /etc/ssh/ssh_config 添加這2句即可 Serv

解決linux/etc/rc.local開機器不執行的原因

啟動程序 排除 程序 配置 blog 解決 linux pos 執行 前不久因項目需要寫了開機啟動其他程序的shell腳本,因工作忙,調試完給了技術支持人員,也沒去註意過。 到後來,有幾臺服務器突然被重啟了,這時候領導問,怎麽開機啟動的腳本沒起作用,還被批了一頓,哎,做事虎

解決Linuxpcieport 0000:00:1c.5問題導致的系統根目錄/磁盤空間不足

update 系統盤 ebo mas log 硬盤 pre 目錄 div 最近剛換了筆記本,拿到本後在win10基礎裝上Ubuntu 16.04雙系統,有個問題是每次關機都會報一堆pcie問題,並且經常沒聲音,聲音問題通過上一篇文章暫時解決,然後就沒在意了,可是幾天後出現系

解決MACctags -R無效的問題

修改 com .so href blog bashrc ima log 安裝 MAC下自帶了ctags,與我們常用的是不同的。 我們需要去重新下載一個ctags並重新安裝 1、去http://ctags.sourceforge.net/下載Ctags的最新版本源代碼

解決MACxcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)的問題

log clas cti sin run select class 升級 invalid 將系統升級到了最新10.13.3 macOS High Sierra後,在使用ctags命令時會出現如下問題: xcrun: error: invalid active develo

解決Centos載文件出現”wget: unabl(www.111cn.net)e to resolve host address”

文件 class div ref htm resolv http conf 出現 第一、修改DNS配置文件 打開/etc/resolv.conf文件 第二、修改(www.111cn.net)DNS 第三、 代碼如下 復制代碼 nameserver 8.8.8.8 names

解決Win10_findnext()異常

nbsp 原因 class OS 但是 () long long ext body 在win10中,使用文件遍歷函數_findnext會報0xC0000005錯誤 ,發生訪問沖突錯誤 錯誤定位到ntdll.dll 原因: _findnext()第一個參數”路徑句柄”,返回的

解決SecureCRTspark-shell中scala無法刪除問題

們的 知識庫 crt 解決方法 sdn html ace track 點擊 轉自:http://blog.csdn.net/huanbia/article/details/51318278 問題描述 當使用SecureCRT來打開Spark-shell的時候,有時

visual studio 2015雜癥(1)——同一解決方案的項目無法互相引用

gpo 感嘆號 net per target 重新 解決方案 studio class 今天用VS新建了一個項目A。 然後在解決方案下添加了曾經已有的項目B。 A引用項目B後現“黃色感嘆號”角標。 A右鍵-properties-Build,Target framework為

解決LinuxIDEA無法使用ibus輸入法的問題

但是 至少 r+ daemon ID 中文 亂碼 中文名 創建項目 一:可以先按網上的配置/etc/profile裏的輸入法的一些參數,我是先配置了這些參數的,但是輸入法還是沒用,後來一直沒管它了,今天用了一些方式可以了但不敢保證不需要先配置那些參數; 二:情況:開啟ID