Ideas out of nowhere
2011年9月29日 星期四
Qt新增圖片 找不到指定的路徑 qrc
在開發Qt 時常會需要增加一些圖片
但增加到qrc中的時候常常會出現以下錯誤
1>Rcc'ing autosend.qrc...
1>系統找不到指定的路徑。
1>Project : error PRJ0019: A tool returned an error code from "Rcc'ing autosend.qrc..."
1>Project : warning PRJ0018 : The following environment variables were not found:
1>$(QTDIR)
程式也沒更改就只加了圖片上去...
別緊張!!!
我是用windows & vs2008開發, 當碰到這種情況時
只要 點 Qt / Convert project to Qt Add-in project
再compile 一次 Error就消失了~
就可以再改回QMake 模式繼續寫...
2011年7月29日 星期五
mobile Qt 環境
Qt要在Mobile or WinCE上執行就需要先建構一個屬於他的環境
用那個環境去編譯,在Target上才能正常的執行!!!
建構環境:
1.下載一個qt-everywhere-opensource-src-4.7.2 (未編譯的環境)
2.記得安裝你要開發的SDK
3.將剛剛下載的qt-everywhere...放到C:\Qt\ 底下 並修改資料夾名稱 (方便開發 如: C:\Qt\CE472 )
4.環境變數Path 增加 C:\Qt\CE472\bin (我的電腦->內容->環境變數)
5.使用VS2008 Command Prompt 路徑輸入 cd C:\Qt\CE472\
6. > configure -platform win32-msvc2008 -xplatform wince60standard-armv4i-msvc2008
wince6.0 沒有 for msvc2008的 就利用2005的複製過來
修改qmake.conf
include(../common/wince/qmake.conf)
QMAKE_COMPILER_DEFINES -= _MSC_VER=1400
QMAKE_COMPILER_DEFINES += _MSC_VER=1500 (增加兩行)
CE_SDK = CE12345 (如果Target的SDK是特殊的)
7.設置配置檔
set INCLUDE=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\include;C:\Program Files\Windows CE Tools\wce600\CE12345\Include\Armv4i
set LIB=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\lib\armv4i;C:\Program Files\Windows CE Tools\wce600\CE12345\Lib\ARMV4I
set PATH=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\bin\x86_arm;%PATH%
或自動配置setcepaths wince60standard-armv4i-msvc2008
8.> nmake (成功的話需要時間大概一個多小時)
沒有Error就可以在VS2008裡設定Qt Option裡選取編譯好的環境
Qt in VS2008
Qt 主要就是跨平台的方便性
Linux fedora內建就有Qt了
那Windows 要怎麼才能使用Qt !?
1.安裝VS2008 (廢話)
2.安裝Qt ,官網上可下載VS2008用的 (如: qt-win-opensource-4.7.2-vs2008 )
3.安裝qt-vs-addin-1.1.8 (將Qt嵌入VS2008)
基本上這樣就可以在Windows 上開發Qt... (版本隨時都在更新上面參考用)
Linux fedora內建就有Qt了
那Windows 要怎麼才能使用Qt !?
1.安裝VS2008 (廢話)
2.安裝Qt ,官網上可下載VS2008用的 (如: qt-win-opensource-4.7.2-vs2008 )
3.安裝qt-vs-addin-1.1.8 (將Qt嵌入VS2008)
基本上這樣就可以在Windows 上開發Qt... (版本隨時都在更新上面參考用)
2011年7月28日 星期四
錯誤 101 (net::ERR_CONNECTION_RESET): 連線已重設。
用iGoogle有時候會出現 "錯誤 101 (net::ERR_CONNECTION_RESET): 連線已重設。"
不知道為什麼~ 就只好按照他建議reload ...
可是效果不佳!常常還是一樣看不到
搜尋一下發現解決辦法!!!
修改hosts文件,在C:\Windows\ System32\Drivers\Etc\ hosts 加上:
74.125.39.99 clients2.google.com
74.125.39.99 chrome.google.com
74.125.39.99 tools.google.com
不知道為什麼~ 就只好按照他建議reload ...
可是效果不佳!常常還是一樣看不到
搜尋一下發現解決辦法!!!
修改hosts文件,在C:\Windows\
74.125.39.99 clients2.google.com
74.125.39.99 chrome.google.com
74.125.39.99 tools.google.com
2011年7月27日 星期三
Qt tcp include
用VS2008 編譯Qt 跟 Linux上有許多的不同
應該說比較方便吧...可是我還不熟悉 囧...
#include <QtNetwork/QTcpServer> 之後還是出現error code
error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QTcpServer::~QTcpServer(void)" (__imp_??1QTcpServer@@UAE@XZ) .....
fatal error LNK1120: 2 unresolved externals
fatal error LNK1120: 2 unresolved externals
爬文後發現一般要運用到網路則需要再 .pro檔
增加 QT += network
但VS2008裡沒有產生.pro檔 那... 應該在哪邊加呢!?
也是很簡單= = 就在Qt Project Settings 裡打勾就解決了...
增加 QT += network
但VS2008裡沒有產生.pro檔 那... 應該在哪邊加呢!?
也是很簡單= = 就在Qt Project Settings 裡打勾就解決了...
2011年7月26日 星期二
將圖片匯入至Qt執行檔
這個問題用了Qt 兩年可是我一直沒有去嘗試
爬文了一下~沒想到這麼簡單
Qt 資源系統(Resource System),資料來源 .qrc 檔
在VS2008就直接點擊Resource Files裡的.qrc
add 欲加入的圖檔
code:
QPixmap pix(":/AutoSend/sync32.png");
簡單一句就是 .qrc裡存放圖片的路徑 加上 :
參考資料:
http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/QtResourceSystem.html
爬文了一下~沒想到這麼簡單
Qt 資源系統(Resource System),資料來源 .qrc 檔
在VS2008就直接點擊Resource Files裡的.qrc
add 欲加入的圖檔
code:
QPixmap pix(":/AutoSend/sync32.png");
簡單一句就是 .qrc裡存放圖片的路徑 加上 :
參考資料:
http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/QtResourceSystem.html
2011年7月18日 星期一
'wcscpy': This function or variable may be unsafe.
有一個 TCHAR 字串 Path
要將他複製給 Name 想到就是用_tcscpy 去做複製
TCHAR* Path = "C:\"
TCHAR *Name = new TCHAR[256];
_tcscpy(Name, Path);
可是這樣編譯會產生
warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
warning上就說明了解決的辦法
新增一行
#define _CRT_SECURE_NO_DEPRECATE 1
就可以忽略warning
要將他複製給 Name 想到就是用_tcscpy 去做複製
TCHAR* Path = "C:\"
TCHAR *Name = new TCHAR[256];
_tcscpy(Name, Path);
可是這樣編譯會產生
warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
warning上就說明了解決的辦法
新增一行
#define _CRT_SECURE_NO_DEPRECATE 1
就可以忽略warning
訂閱:
文章 (Atom)