① vs2013 打開cocos項目找不到exe文件 編譯也沒有生成exe 修改項目屬性 修復vs 重裝系統都試過了 沒用
您好,python和ndk沒有用最新的
主要原因是之前搞的時候最新的有bug
於是沿用之前成功的版本
下面就是骨頭一路上的碰壁:
流水帳開始:
1
首先在公司的win8上安裝vs2013半點問題沒有
用vs2013打開之前用vs2012下創建的項目提示不好用
願意是我忽略的升級配置文件的選項。
2
嘗試微軟提供的項目管理軟體:TFS,申請微軟的免費伺服器。
發現功能太強大,適合大項目的項目管理,但我只需要源代碼管理就行。
放棄,嘗試git。
3
被vs2013打開過的cocos2dx項目,在2012中打開又報錯了。
看來需要徹底升級了。
4
下載解壓cocos2dx3.0beta版本。
使用create_project.py創建項目比之前友好了
因為換成了圖形界面
不過先進命令行的方式還是太麻煩
我們建個快捷方式:
建一個bat文件
輸入D:\java\cocos2d-x-3.0beta\tools\project-creator\create_project.py
5
cocos2dx3.0beta建的新項目比之前大了
因為他直接把編譯所需代碼拷貝到項目文件夾下
而且可建立在任意位置
6
新項目建立之後vs2013運行ok
於是拷貝到github的本地代碼庫下
上傳(幾百M,略大,稍等)
上傳ok之後直接打開本地代碼庫下的sln文件
此時,vs2013會自動配置好git
骨頭實驗了一下提交到本地和提交到伺服器功能
ok
7
回家搗鼓筆記本安裝vs2013
(win8.1已裝vs2012)
老報核心什麼什麼的錯
搜了網上幾乎所有的辦法:管理員、換顯卡驅動、打補丁(個人不喜歡一切win的補丁)
還是不成功
於是系統還原到一個沒裝vs2012的ghost
可以安裝了(不計較了 vs那麼大,有點問題可以理解)
8
裝完vs2013就開始裝python裝cygwin
結果到後來發現好像不需要cygwin了
cmd進入到proj.android下
虛緩仔敲入 python build_native.py 命令cmd開始編譯
省去了之前版本需要用cygwin編譯而且需要修改文件許可權的步驟
心驚膽顫的直到發現 so文件ok
9
eclipse打開其中的android項目
導入不報錯,運行黑屏。
果然沒那麼幸運
網上一搜說需要:
把cocos2d-x-3.0beta/cocos/2d/platform/android/java/src/org/cocos2d-x/lib整個文件夾拷貝到你的項目下proj.Android/src/org/cocos2d-x下
感覺這個步驟完全可以新建cocos2dx項目時腳本自動加上
應該是錯誤漏掉了
估計下次升級就不需要手動加了
加上之後再次運行哪扒
終於看到熟悉的土豆了
10
下一步就差汪是在建一個cocos2dx的源碼管理
由於之前試驗過
應該沒啥問題
就不加到流水帳了
11
回家搞vs2013和github果然有問題。
主要是新的cocos2dx3.0beta生成的項目太大了
空項目編譯運行一次竟然高達800多M
於是學習了下git的配置文件的使用:
.gitignore
關鍵是這個文件正常來說windows不讓建立
多敲一個。就行。
② VS2017 找不到項目文件夾下編譯和執行調試後的.exe文件。
項目目錄/bin/Debug目錄下沒有?如果確實調試成功了,還是沒有,項目文件夾可能進錯了哦。
③ VS2010 c++編譯的時候總是出現找不到exe文件、這是個什麼情況
VS在生成可執行文件時使用了一種新的技術,該技術生成的可執行文件會伴隨生成一個清單文件(manifest
file)(.manifest後綴文件)(其本質上是XML文檔,你可以用文本編輯器打開看看),並在鏈接完成後將該清單文件嵌入到exe文件中(默認
情況下)。而在FAT32文件系統中,在處理清單文件階段,當增量鏈接時不能完成清單文件的更新(默認情況下),於是造成清單文件嵌入失敗,從而使該
exe文件運行時沒有相應的清單文件而運行失敗並提示如上錯誤。
解決方案很多,列舉如下:
1. 由於這是在鏈接動態運行庫出現的問題,所以你可以選擇代碼生成的連接方式為/MTd而非/MDd,不用這些DLL文件從而避免問題的出現。該方法有一個很顯然的缺點:適用范圍有限,不推薦該方法。
2. 既然跟FAT32系統有關,那麼我們可以選擇在NTFS文件系統中開發從而避免該問題,此方法同上,也是採用的迴避問題的方式,不提倡。
3.
該方法仍與FAT32有關:在項目的「屬性|配置屬性|清單工具|常規」中的「使用FAT32解決辦法」選擇「是」(默認為「否」),重新生成項目即可解
決問題。該方法是唯一真正針對問題所在而提出的解決方法,使清單工具可以正確更新。(此方法是官方解決方法,也比較方便,推薦)
4. 既然問題是在更新嵌入的清單文件時發生的,由於FAT32的原因而未能更新嵌入的清單文件,於是我們有如下兩種解決方法:
(1)不啟用增量鏈接。在項目的「屬性|配置屬性|鏈接器|常規」中的「啟用增量鏈接」選擇「否」。此方法阻斷了問題產生的源頭,其每次生成exe文件時都直接嵌入清單文件,而不是默認的根據時戳而決定是否更新清單文件。
(2)不嵌入清單文件。在項目的「屬性|配置屬性|清單工具|輸入和輸出」中的「嵌入清單」選擇「否」,從而在生成exe文件時附隨生成一個清單文件(默
認情況下,其文件名為exe文件的全名加上「.manifest」),避免了嵌入清單文件可能失敗的問題。在程序運行時,會用到該清單文件。顯然,這種方
式使可執行程序產生了更多的外部依賴,不推薦。
另外,還有一個不能稱為方法的土辦法:每次Build前手動刪除*.ilk文件(增量鏈接文件)(當然可以在項目屬性中寫入刪除命令,使其自動執行),不推薦該土辦法。
最後,總結一下:
1. 此問題只在特定條件下才會出現:在FAT32文件系統中編譯、默認設置(增量模式、不啟用FAT32解決方案、嵌入清單文件)、非第一次生成可執行文件文件(即在增量連接、更新清單文件時)。
2. 解決方案1和4.1方便實用,推薦使用。