出現 fatal error LNK1104: 無法開啟檔案 'dxerr9.lib'
因為裝的是 Microsoft DirectX SDK (August 2009) 版本的SDK
在 http://www.microsoft.com/downloads/details.aspx?FamilyID=b66e14b8-8505-4b17-bf80-edb2df5abad4&displaylang=en 這裡,我們找到以下段話:
DXERR9 library removed from the DirectX SDK
The DXERR9 library has been removed from the DirectX SDK as of the August 2009 release. The DXERR9 error look-up library has been deprecated for some time in favor of DXERR which supports a broad range of DirectX and related error codes. The DirectX SDK Error Look-up Tool uses DXERR.
很好= = ! 讓我們回到visual studio 下
解決方法:
1. 在 nBodyCS專案下按右鍵 -> 屬性 -> 組態屬性 ->連結器 -> 輸入 -> 其他相依性 ,打開編輯視窗後,找到dxerr9.lib的地方,將它改為dxerr.lib,別以為這樣就結束了,在往下一點找到d3d11_beta.lib的地方,將它改為d3d11.lib,之後按下確定就OK了。
2. 在 SimpleParticlesCS專案下如同上面的操作方式,將dxerr9.lib及d3d11_beta.lib,改為dxerr.lib及d3d11.lib,再次compile後就順利成功了。
後記:
bulid出來的檔案執行後,不知道為什麼都沒有任何動作,還在找原因... 就先寫到這... 冏
2009年9月19日 星期六
openSUSE 安裝 Firefox 安裝 flash-plugin
首先至http://www.moztw.org/下載linux版本的firefox
抓下來的檔案為 firefox-3.5.3.tar.bz2
打開終端機後輸入
sudo tar xf firefox-3.5.3.tar.bz2 解壓縮
sudo cp -r firefox /usr/share/ 將解壓後的資料夾複製到/usr/share目錄下
sudo ln -sf /usr/share/firefox/firefox /usr/bin/firefox 建立捷徑之後就可以由命令列呼叫
sudo ln -sf /usr/share/firefox/firefox /usr/bin/mozilla-firefox 建立捷徑之後就可以由命令列呼叫
爾後要開啟firefox只需要在命令列輸入firefox或mozilla-firefox即可
接下來要安裝flash-plugin, 因為無法直接由firefox安裝
所以必須到adobe官網 http://get.adobe.com/flashplayer/ 下載
下載時請選擇 .rpm 版本
抓下來的檔案為 flash-plugin-10.0.32.18-release.i386.rpm
打開終端機後輸入
sudo rpm -Uvh flash-plugin-10.0.32.18-release.i386.rpm 直接安裝套件
sudo cp /usr/lib/flash-plugin/libflashplayer.so /usr/share/firefox/plugins 將套件複製到firefox的plugins資料夾
OK! 重新開啟firefox後完成
抓下來的檔案為 firefox-3.5.3.tar.bz2
打開終端機後輸入
sudo tar xf firefox-3.5.3.tar.bz2 解壓縮
sudo cp -r firefox /usr/share/ 將解壓後的資料夾複製到/usr/share目錄下
sudo ln -sf /usr/share/firefox/firefox /usr/bin/firefox 建立捷徑之後就可以由命令列呼叫
sudo ln -sf /usr/share/firefox/firefox /usr/bin/mozilla-firefox 建立捷徑之後就可以由命令列呼叫
爾後要開啟firefox只需要在命令列輸入firefox或mozilla-firefox即可
接下來要安裝flash-plugin, 因為無法直接由firefox安裝
所以必須到adobe官網 http://get.adobe.com/flashplayer/ 下載
下載時請選擇 .rpm 版本
抓下來的檔案為 flash-plugin-10.0.32.18-release.i386.rpm
打開終端機後輸入
sudo rpm -Uvh flash-plugin-10.0.32.18-release.i386.rpm 直接安裝套件
sudo cp /usr/lib/flash-plugin/libflashplayer.so /usr/share/firefox/plugins 將套件複製到firefox的plugins資料夾
OK! 重新開啟firefox後完成
2009年9月7日 星期一
VirtualBox 變更解析度 for openSUSE
VirtualBox:v2.2.4 r47978 openSUSE:v11.1
在VirtualBox下安裝完openSUSE後,發現解析度只能選擇800x600
其實是因為還沒安裝顯卡的driver,但因為在VirtualBox下的顯卡是模擬出來的,因此必須安裝VirtualBox自帶的顯卡driver
在安裝driver之前,系統提示要先更新 linux kernel
依據以下步驟即可完成更新
1.首先在桌面按右鍵,接著點選"在終端機中開啟"
2.開啟終端機後,輸入 sudo zypper install gcc make automake autoconf kernel-source
3.接著輸入密碼(root的密碼),等待幾分鐘後即可完成kernel的更新
完成kernel更新後,可以開始安裝driver了
首先,先將VirtualBox工具掛上去
取消自動執行
回到剛剛的終端機畫面
輸入 cd /media 切換資料夾
再輸入 ls 可看到 VBOXADDITIONS_2.2.1_47978 資料夾
接著再輸入 cd VBOXADDITIONS_2.2.1_47978 切換到VBOXADDITIONS_2.2.1_47978 資料夾
再輸入 ls 可看到 VBoxLinuxAdditions-x86.run
接下來正式要安裝了
使用Intel CPU的人,請輸入 sudo sh ./VBoxLinuxAdditions-x86.run
使用AMD CPU的人,請輸入 sudo sh ./VBoxLinuxAdditions-amd64.run
安裝完之後請重新開機。
接著會發現無法進入X-Window了 ......
好吧! 先使用root帳號進去
接著輸入startx嘗試進入X-Window
結果根本進不去... 沒關係他有提示是xorg.conf設定檔出錯
好吧! 使用vim去修改囉
輸入 vi /etc/X11/xorg.conf
進入編輯器
利用方向鍵往下移,找到 InputDevice "VBoxMouse"的地方,然後按下鍵盤上的 i 鍵進入編輯模式(下方會出現 -- INSERT -- 字樣)
將 InputDevice "VBoxMouse" 這行字串刪除後,按ESC進入命令模式
然後輸入 :wq 存檔並離開編輯器
接著回到終端機命令列輸入 reboot 重新開機
順利的話應該可以成功進入X-Window了,接著看看解析度設定式窗
YA! 有三種解析度可以設定了,雖然最大只到1024x768 (聽說跟顯示器的頻率設定有關?)
不過已經很開心了
=================
今天偶然發現,可以由以下步驟更改解析度
1. 點選左下"電腦",選擇 "控制中心"
2. 點選"圖形配接卡與顯示器"
3. 輸入root密碼,進入X11設定
4. 恭喜,可以選用其他解析度了
在VirtualBox下安裝完openSUSE後,發現解析度只能選擇800x600
![]() |
![]() |
其實是因為還沒安裝顯卡的driver,但因為在VirtualBox下的顯卡是模擬出來的,因此必須安裝VirtualBox自帶的顯卡driver
在安裝driver之前,系統提示要先更新 linux kernel
依據以下步驟即可完成更新
1.首先在桌面按右鍵,接著點選"在終端機中開啟"
![]() |
2.開啟終端機後,輸入 sudo zypper install gcc make automake autoconf kernel-source
![]() |
3.接著輸入密碼(root的密碼),等待幾分鐘後即可完成kernel的更新
![]() |
![]() |
![]() |
完成kernel更新後,可以開始安裝driver了
首先,先將VirtualBox工具掛上去
![]() |
取消自動執行
![]() |
回到剛剛的終端機畫面
輸入 cd /media 切換資料夾
再輸入 ls 可看到 VBOXADDITIONS_2.2.1_47978 資料夾
接著再輸入 cd VBOXADDITIONS_2.2.1_47978 切換到VBOXADDITIONS_2.2.1_47978 資料夾
再輸入 ls 可看到 VBoxLinuxAdditions-x86.run
接下來正式要安裝了
使用Intel CPU的人,請輸入 sudo sh ./VBoxLinuxAdditions-x86.run
使用AMD CPU的人,請輸入 sudo sh ./VBoxLinuxAdditions-amd64.run
![]() |
安裝完之後請重新開機。
接著會發現無法進入X-Window了 ......
好吧! 先使用root帳號進去
![]() |
接著輸入startx嘗試進入X-Window
![]() |
結果根本進不去... 沒關係他有提示是xorg.conf設定檔出錯
好吧! 使用vim去修改囉
輸入 vi /etc/X11/xorg.conf
![]() |
進入編輯器
![]() |
利用方向鍵往下移,找到 InputDevice "VBoxMouse"的地方,然後按下鍵盤上的 i 鍵進入編輯模式(下方會出現 -- INSERT -- 字樣)
![]() |
將 InputDevice "VBoxMouse" 這行字串刪除後,按ESC進入命令模式
然後輸入 :wq 存檔並離開編輯器
![]() |
接著回到終端機命令列輸入 reboot 重新開機
![]() |
順利的話應該可以成功進入X-Window了,接著看看解析度設定式窗
![]() |
不過已經很開心了
=================
今天偶然發現,可以由以下步驟更改解析度
1. 點選左下"電腦",選擇 "控制中心"
![]() |
2. 點選"圖形配接卡與顯示器"
![]() |
3. 輸入root密碼,進入X11設定
![]() |
![]() |
4. 恭喜,可以選用其他解析度了
![]() |
2009年6月24日 星期三
App.config 按右鍵找不到 Edit WCF Configuration
參考 http://dotnetframework.blogspot.com/2008/01/creating-wcf-service-how-to-create.html這篇文章學習WCF時,其中有一個部分是需要新增一App.config。
作者說在app.config上按右鍵,選擇Edit WCF Configuration,結果我按右鍵找不到 Edit WCF Configuration的選項。之後再上方"工具"->"WCF Service Configuration Editor" 按下之後會出現WCF Configuration編輯視窗,此時再到App.config上按右鍵就會出現Edit WCF Configuration的選項。
作者說在app.config上按右鍵,選擇Edit WCF Configuration,結果我按右鍵找不到 Edit WCF Configuration的選項。之後再上方"工具"->"WCF Service Configuration Editor" 按下之後會出現WCF Configuration編輯視窗,此時再到App.config上按右鍵就會出現Edit WCF Configuration的選項。
2009年6月10日 星期三
提升SQLite刪除速度
先前在SQLite下使用BeginTransaction,作INSERT的動作的確有效提升速度。今日使用DELETE時,刪除30筆記錄居然花費到4秒鐘的時間,結果處理的方式是在資料庫連線字串加入Synchronous=OFF。如下:
string strConnection = @"Data source=C:\Datebase.db;Synchronous=OFF;";
SQLiteConnection myConnection = new SQLiteConnection(strConnection);
結果速度馬上由4000ms 提升到 1ms,這真是太~神奇了傑克
string strConnection = @"Data source=C:\Datebase.db;Synchronous=OFF;";
SQLiteConnection myConnection = new SQLiteConnection(strConnection);
結果速度馬上由4000ms 提升到 1ms,這真是太~神奇了傑克
2009年5月22日 星期五
將某日期欄位與數值欄位相加後做條件判斷
假設有某一資料表為Schedule裡面有三個欄位分別為
AdName(廣告名稱),ShowDate(播放日期)和ShowDays(播放天數),內容如下
所以
廣告A 的期限到2009-05-20 00:00:00
廣告B 的期限到2009-05-20 00:00:00
廣告C 的期限到2009-05-23 00:00:00
假設我們要找尋2009-05-19還在播放的廣告,就可以使用以下語法:
SELECT * FROM Schedule
WHERE DATE_ADD(ShowDate,INTERVAL ShowDays DAY ) > DATE('2009-05-27 00:00:00')
AND DATE(ShowDate) <= DATE('2009-05-27 00:00:00')
AdName(廣告名稱),ShowDate(播放日期)和ShowDays(播放天數),內容如下
| AdName | ShowDate | ShowDays |
| 廣告A | 2009-05-10 00:00:00 | 10 |
| 廣告B | 2009-05-15 00:00:00 | 5 |
| 廣告C | 2009-05-20 00:00:00 | 3 |
所以
廣告A 的期限到2009-05-20 00:00:00
廣告B 的期限到2009-05-20 00:00:00
廣告C 的期限到2009-05-23 00:00:00
假設我們要找尋2009-05-19還在播放的廣告,就可以使用以下語法:
SELECT * FROM Schedule
WHERE DATE_ADD(ShowDate,INTERVAL ShowDays DAY ) > DATE('2009-05-27 00:00:00')
AND DATE(ShowDate) <= DATE('2009-05-27 00:00:00')
2009年5月21日 星期四
在做資料SELECT時,順便將特定值轉換成要顯示的文字
有時候我們會將某些欄位以數字的資料形態來儲存
假設有一Table(Student)含有三個欄位1. Number(long) 2.Name(varchar) 3.Sex(bool)
內容如下:
Number Name Sex
9701001 Jim 1
9701002 Jack 1
9701003 May 0
我們希望Select出來的DataTable如下:
Number Name Sex
9701001 Jim 男
9701002 Jack 男
9701003 May 女
這時可以利用以下的語法來解決
SELECT Number,Name,CASE Sex WHEN '0' THEN '女' WHEN'1' THEN '男' END AS Sex FROM Student
假設有一Table(Student)含有三個欄位1. Number(long) 2.Name(varchar) 3.Sex(bool)
內容如下:
Number Name Sex
9701001 Jim 1
9701002 Jack 1
9701003 May 0
我們希望Select出來的DataTable如下:
Number Name Sex
9701001 Jim 男
9701002 Jack 男
9701003 May 女
這時可以利用以下的語法來解決
SELECT Number,Name,CASE Sex WHEN '0' THEN '女' WHEN'1' THEN '男' END AS Sex FROM Student
訂閱:
文章 (Atom)






















