qt在vs2008上跑的不是很順利。。。在使用者自定義槽之後,connect無法順利連線自定義的槽與訊號,可能會有如下報錯:
1>mywidgetex.obj : error lnk2001: 無法解析的外部符號 "而解決方案就是將使用到自定義槽的類的定義與函式分別寫在乙個.h和乙個.cpp檔案裡,例如:public: virtual int __thiscall mywidgetex::qt_metacall(enum qmetaobject::call,int,void * *)
" (?qt_metacall@mywidgetex@@uaehw4call@qmetaobject@@hpapax@z)
1>mywidgetex.obj : error lnk2001: 無法解析的外部符號 "
public: virtual void * __thiscall mywidgetex::qt_metacast(char const *)
" (?qt_metacast@mywidgetex@@uaepaxpbd@z)
1>mywidgetex.obj : error lnk2001: 無法解析的外部符號 "
public: virtual struct qmetaobject const * __thiscall mywidgetex::metaobject(void)const
" (?metaobject@mywidgetex@@ubepbuqmetaobject@@xz)
//mywidgetex.h
#pragma once#include
#include
class
mywidgetex :
public
qwidget
;
//然後手動編譯mywidget.h,命令類似於:moc mywidget.h -o mywidget.mocmywidgetex.cpp
#pragma once#include
"mywidgetex.h
"mywidgetex::mywidgetex(
void
)mywidgetex::~mywidgetex(void
)void
mywidgetex::setbuttontext()
再將主程式修改。。。
//**就可以順利執行了。main.cpp
#include #include
#include
"mywidgetex.moc
"#pragma comment(lib,"qtcore4.lib")
#pragma comment(lib,"qtgui4.lib")
using
namespace
std;
int main(int argc, char *argv)
如果覺得這樣麻煩的話,也可以在vs裡做如下修改
這樣就可以直接編譯程式了。
自定義日誌檔案
借用 部落格 usr bin python coding utf 8 importlogging importos.path importtime 自定義日誌類 classlogger object def init self,logger 指定儲存日誌的檔案路徑,日誌級別,以及呼叫檔案 將日誌存入...
自定義日誌記錄檔案
舉例 郵件傳送錯誤記錄日誌 日誌記錄介面 ilogservice.cs public inte ce ilogservice 日誌記錄介面 實現 filelogservice.cs public class filelogservice ilogservice finally catch endre...
自定義類寫入檔案
對自定義類歸檔 person.h 遵守協議 import class book inte ce person nsobject property copy,nonatomic nsstring name property copy,nonatomic nsstring property strong...