cocos2d-x-3.6 Window沒有debug.log文件?

每使用新版本的cocos2d引擎,總有各種蛋疼問題,這此搭建好了cocos3.6環境之後,發現win32下沒有debug.log的txt文件,雖然控制檯可以輸出相關信息,但是畢竟顯示有限,不如直接在本地文件上查找方便,所以,小弟今天研究了一下午,總以爲是環境沒配好什麼的,無奈之下,去查看了原先使用過的quick版本,lua層,c++層都全局搜索了下debug.log,還真有了眉目,於是直接去3.6的vs工程下搜索:果然在"ProjectConfig.h/cpp"文件裏有定義,於是在查看了相關引用……

總結了下大概流程是這樣的:mian入口 -> SimulatorWin:run -> 對ProjectConfig對象進行解析(要找的問題在這兒) -> app.run()

在parseCocosProjectConfig函數和SimulatorWin::run()中都引用了_project.parseCommandLine(args),因此只要搞定args結構接ok了,以爲debug.log開啓的條件就在解析這個args表中,看代碼:關鍵信息在__argc、__wargv這兩個參數,百度了下,然後在聯想到其註釋/* count of cmd line args */,大概意思就是__argc是main函數出入的參數個數,套路看__wargv就代表着該動態數組的數組名,然後用c++數組方式,你懂得……調試的時候,看到最終push之後的args列表中沒有想要的debug.log字段開啓的條件(源代碼中開啓條件是是否有 “-write-debug-log" 這個字段,然後 ++迭代器,取下個迭代器的值用來初始路徑等信息),因此在百度了下,怎麼設置main函數傳參就ok了(在這之前你可以手動虛擬下開啓的條件,測試下正確性)

因此,問題最終歸結到怎麼設置visul studio下項目的屬性了:

右鍵項目 ->  屬性 ->  配置屬性 -> 調試 -> 命令參數 -> 編輯 -> 在後面加入  -write-debug-log $(ProjectDir)debug.log 

然後就ok了注意 要空格哦!看到編輯裏面原有的值,你就會豁然開朗……這裏設置的這些值就是要傳入mian函數的參數了,注意每個參數之間要空格,至於$(ProjectDir)debug.log 這個參數可以自定義,因爲cocos代碼中第一個字段是開關,然後*(++it)纔是路徑值.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章