2008年5月6日 星期二

nam 編譯出錯

柏鋒發現修正nam編譯錯誤的方法!!由於風哥是用的是64 bit的OS, 所以在nam一開始編譯時會發生錯誤,如下所示:
netmodel.cc: In member function ‘int NetModel::addr2id(int) const’:
netmodel.cc:311: error: cast from ‘void*’ to ‘int’ loses precision
netmodel.cc: In member function ‘int NetModel::lookupObjname(const char*)’:
netmodel.cc:2764: error: cast from ‘void*’ to ‘int’ loses precision
解決辦法:
把return (int)Tcl_GetHashValue(he);改為return (long)Tcl_GetHashValue(he);

後續會在遇到數個類似的問題,依樣畫葫蘆~把int改成long即可!!

End~

沒有留言: