OpenGL on Win7 64bits

在 Windows 上使用 OpenGL 的函式庫需要幾樣東西, 我假設大家都裝了免費的 Visual Studio Express 2010 版, 那麼:

1. glut.h  放在 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl

2. glut.lib 和 glut32.lb 放在 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib

3. glut.dll 和 glut32.dll 放在 c:\windows\system32

不過如果是 64 bits 的作業系統, glut32 要放到 C:\Windows\SysWOW64 裡面. 不然程式寫好也會說不能啟動, 因為找不到 glut32.dll.

什麼是 glut 呢? 它是 OpenGL Utility Toolkit 的縮寫, 即使版本比較舊也都可以用. 至於 sysWOW64 的意思是 Windows-on-Windows 64bit , 可以讓 64 bits Windows 執行 32 bits 的程式. 這也就是為什麼 Glut32.dll 要放到這個目錄的原因.

[ref]

1. Microsoft Visual Studio 2008安裝 GLUT for Windows7 64bit

2. andyhuabing的专栏

3. WIKI: GLUT

4. 補充說明 SysWoW64 目錄

 

十三號星期五之網站整修心得

本年度的第一個黑色星期五 (2012/1/13), 我發現我網站的文章變成不能修改了! 凡是貼出去的東西, 變成起手無回的狀態, 只要發表出來, 一個標點都改不了. 這也就罷了, 連想貼的圖也貼不出來.

上網 Google 了一下, 有人說改這裡, 有人說改那裡. 試了一下都沒有效果. 根據我的判斷, 應該是 wordpress 到 SQL 這中間出了問題. 在 wordpress 已經完成的動作, 再去 phpMyAdmin 裡面匯出 .sql 來看, 其實都沒有修改到. 所以, 我就再度重灌了.

這其中我又犯了幾次錯, 差點改不好, 所以特別寫下來給大家參考.

1. 重新安裝 apache 2.5.10 之後, 必須先到 phpMyAdmin 裡面去新增一個 wordpress (或是其他 blog 的名字), 裡面可以全空的. 這樣進到 wordpress 去跑 wp-pconfig.php 時, 才不會說沒有權限. 連 database 都不存在當然沒有權限了. 如果 wordpress 已經存在了, 當然就沒問題.

2. 新增的 wordpress 需要把以前備份的 .sql 匯入, 這樣網站才能恢復, 光是把整個目錄 copy 起來是沒有用的, 因為 apache 已經重新來過. 先前我一時不察, 在備份網站時, 把 mysql, test, phpmyadmin 這三個預設的資料庫和 wordpress 一起備份了. 等到要匯入的時候, phpMyAdmin 就抱怨 mysql 已經存在, 故不允許匯入!

把現有的 mysql 先殺掉嗎? 很抱歉, 每個資料庫都殺得掉, 就是 mysql 只能清空, 卻不能刪除. 幸好 .sql 本身就是一個文字檔, 只要到 .sql 裡面, 把多餘的資料庫 delete 掉就好了. 它的格式很清楚, 可以很容易辨識. 這樣匯入就可以成功了.

它的表頭是這樣, 一直砍到資料庫: 'wordpress' 就成啦!


— 資料庫: `mysql`

CREATE DATABASE `mysql` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `mysql`;

— ——————————————————–

3. 網站剛改好時, 進入管理員就看得到畫面. 從 URL 進去首頁卻是一片空白. 看了一下控制台, 才發現 theme 沒有跟著搬過來. 雖然 wordpress 自己說會用預設主題代替, 但是其實不行. 這邊只要把原先的主題搬家過來就好.

4. 最後就是補上基本的防護配備, 大家應該不會想讓每個人都看得到 phpMyAdmin 這一樣, 或是可以執行 wp-config.php 吧. 那就改一改吧! 至於不需要搬過來的東西和不必要的更新, 我就先不管了. 原先不能更新文章的 bug  一定就在某次的更新之中. 這次重灌又浪費了我不少時間, 改好之後連總統都選出來了…

我的 O2droid

話說我以前對 Android 沒什麼好感, 每次和 Android 發生關連不是 source tree 因此不穩, 開機變慢; 就是老闆要我去跟催 Android 的開發進度. 總之不會和好事發生連結. 

不過自從我加入號稱以 Android 為核心技術的 Skyviia 之後, 完全就和 Android 畫上了 “>" 符號 – 大於符號是說除了 Android 還有別的事要做啦!

當然, 隨著 Android 4.0 手機 Samsung Glaxary Nexus 上市, 我們的任務隨著艱鉅起來. 為了深入了解敵情, 我連手機都改成 O2droid 啦!

什麼是 O2droid 呢?就是把 Samsung Omnia II 從 WM 6.5 作業系統灌成 Android, O2 + Android = O2droid, 這個名詞可能是這幾位仁兄發明的 –

Samsung I8000 Omnia II Android development. 網路上的資訊一大堆, 到底要灌哪一版才能把 i8000 變成 Android 呢?(甚至還有人說不能灌呢!) 我覺得最最簡單的就是好啊網發表的這篇文章: 

2011/8/2 在夠快網盤發佈的 3G ISO 版 (3G至尊版ISO.rar309.01MB)適用於內建 8GB 以上 SD 卡的型號. 

或是 1.7G 極速版 (1.7G极速版ISO.rar477.26MB) 適用於內建 2GB 的機種. 

在台灣買到的 i8000 應該都是 8GB 的, 新加坡賣的才有 16GB. 當然檔案愈大, 裡面的內容就愈多. 3GB 版裡面有憤怒鳥和水果忍者, 1.7GB 版就只有後者. 再說到 1.7GB 和 3.0GB 版都可以設為繁體中文, 但是 1.7GB 就是抓不到中華電信的 APN, 所以也上不了網. 

什麼是 ISO 版呢?就是把做好的 Android 鏡像存起來, 解開 rar 檔後, 就會看到一個 ISO 文件. 此時只要在 My Storage 裡面執行 Haret.exe 等著它安裝好就行了, Froyo 2.2 版水果優格就會取代原來的 “窗戶移動" (Wiindows Mobile). 不過它並沒有真正把 WM 6.5 取代掉, 只要拔掉電池, 或是 reboot 就會變回窗戶移動啦!

除了 ISO 版之外, 外面流傳的還有 ghost 版 (GHO). 另外就是 O2droid beta1, beta2, beta3 版. O2droid 系統因為是一版一版長上來的, 所以直接灌 beta3 還是要先 format SD 卡, 做出 FAT32, EXT4 等分區, 老實說有點麻煩. 因此我覺得ISO 版還是比較實用. 只是它肥了一點.

最初我把 1.7GB 版放進 8GB SD 後, 又把 3GB 版本 ISO 放進來. 結果一執行 Haret.exe 就發生 Kernel Panic. 我直覺地把 1.7GB 搬走就 OK 了. 另外執行 Haret.exe 時, 有時會看到一些 error message, 像是 expected 4096 got 0, 這個是 SD 卡讀寫不正常, 重新 check disk 後, ISO 重新拷貝過就會好. 

對了!變身 Android 之後, 手機變慢了不少. 不過 angry bird 可以玩, APK 也比 WM 6.5 豐富, 感覺滿好玩的. 下次可能真的買一支 Android 手機來試試吧!

SONY DSC

MacBook 小 bug

自從有一次用耳機聽了 MacBook 裡面的音樂之後, MacBook 就只能從耳機聽到聲音, 拔掉耳機後, 就再也發不出聲音. 但插回耳機就又好了. 如果企圖去調整畫面上方的音量圖示, 它只會出現喇叭禁止的符號.

上網查了一下, 這個問題還頗常見. 各家眾說紛紜, 有的說要重開機, 有的說要換主機板, 也有教人家從 terminal 去改 script. 其實每一招都不靈!唯一正確的解法是 MacUKnow 上 clhhouse 的那篇. 只要拿個細長的東西, 插進耳機孔按一 (幾) 下就好了. 歪解就是不斷插拔耳機插頭, 運氣好就會被偵測到拔出.

原因是這個耳機孔有 jack detection, 但是有時耳機插頭只能被偵測到插入, 沒辦法被偵測到拔出, 所以 Mac 一直認為還插著耳機, 故不讓使用者調整喇叭的音量, 而且還因此沒辦法發出任何聲音!

確認這個問題的特徵是: 此時耳機孔會發出紅光. 如果看到紅光, 就可以確認是這個問題. 


P8Z68V-Pro 超頻小註解

我用這塊華碩的主機板差不多快一個月了, 基本上它表現良好, 前陣子都沒為它操過什麼心.

不過今天下午開始, 很多東西都不對了. 播 3D 的時候忽然花屏. 我想說是不是安裝什麼軟體動到 driver 了?! 所以就把 driver 換到最新. 又把新安裝的迅雷, Tonido 等等都解除安裝, 結果沒有什麼改善.

我又想會不會是 DirectX 被改壞了? 不過用 Windows 的使用者體驗分數去跑, 和以前都一樣, 並沒有變低分. 況且 DirectX 還很難倒退版本, 只好先不管它. 至少一般畫面都還正常.

無奈到了晚上, 連播影片都怪怪的, 電影中出現紫色的橫條紋, 並且出現一個顯示卡停止回應的警告訊息. 上網 Google 了一下, 有人說這是 Windows 電源管理所導致的, 把省電模式改為 “費電模式“, 呃…高效能模式, 它就會給繪圖卡比較多的電, 避開忽然卡住的問題. 雖然我照著改了, 依然沒有效果. 此時腦海中甚至浮現出 “重灌" 這個可怕的單字!

最後怎麼解決的呢? 我想如果卡沒問題, driver 沒問題, 電流沒問題, 搞不好是記憶體的問題. 上次裝機時, 我順便把 P8Z68V-Pro 這塊主機板上的自動超頻打開了. 說不定它自我感覺良好地超到跑不動的地方去了吧?! 果然我把機殼拆開, 把那兩顆開關關掉, 一切就恢復正常了! 也許關掉 TPU 就行, 不過我為了省事就全關了.

至於那些一直解不了 “顯示卡停止回應" 的網友, 我建議各位就降頻保平安吧!

[華碩 P8Z68V-Pro 開關位置圖]

TPU = 自動系統最佳化

EPU = 智慧型電源監控