qt宏編譯
A. qt如何設置宏區分同一個平台多套件編譯
在pro裡面定義一個宏,然後在代碼中根據這個宏進行條件編譯。
下面是一個示例:
網頁鏈接
B. 100分求助~QT程序設計,加入宏Q_OBJECT後編譯不成功
直接qmake工程文件, 然後用Makefile就可以了, g++ moc ld都是全自動的. 定義過的函數在cpp裡面要實現, 即使是空的也要寫出來. 信號一定不要去寫實現, 交給moc做
C. Qt 澶氶」鐩綆$悊
棣栧厛鏄鍏堟柊寤轟竴涓瀛愮洰褰曢」鐩錛屽啀鏍規嵁闇瑕佸湪瀛愮洰褰曢」鐩涓娣誨姞涓涓搴旂敤紼嬪簭欏圭洰浠ュ強澶氫釜搴撶殑欏圭洰錛屽瓙鐩褰曢」鐩榛樿ゅ氨鍙鏈変竴涓.pro鏂囦歡銆
浠庘#鈥濆紑濮嬶紝鍒拌繖涓琛岀粨鏉熴
妯℃澘鍙橀噺鍛婅瘔qmake涓鴻繖涓搴旂敤紼嬪簭鐢熸垚鍝縐峬akefile銆
鎸囧畾緙栬瘧鍣ㄩ夐」鍜岄」鐩閰嶇疆錛屽肩敱qmake鍐呴儴璇嗗埆騫跺叿鏈夌壒孌婃剰涔夈
浠ヤ笅閰嶇疆鍊兼帶鍒剁紪璇戞爣蹇楋細
qmake娣誨姞榪欎釜鍙橀噺鐨勫間綔涓虹紪璇戝櫒C棰勫勭悊鍣ㄥ畯(-D閫夐」)銆
鎸囧畾緙栬瘧欏圭洰鏃跺簲璇ヨ鎼滅儲鐨#include鐩褰曘
鎸囧畾紼嬪簭緙栬瘧鏃朵緷璧栫殑鐩稿叧璺寰勩
鎸囧畾鍦ㄤ綍澶勬斁緗鐩鏍囨枃浠躲
鎸囧畾鐩鏍囨枃浠剁殑鍚嶇О銆傞粯璁ゆ儏鍐典笅鍖呭惈鐨勯」鐩鏂囦歡鐨勫熀鏈鍚嶇О銆
鎸囧畾鏋勫緩鐩褰曘
鎸囧畾鏉ヨ嚜moc鐨勬墍鏈変腑闂存枃浠舵斁緗鐨勭洰褰曪紙鍚玅_OBJECT瀹忕殑澶存枃浠惰漿鎹㈡垚鏍囧噯.h鏂囦歡鐨勫瓨鏀劇洰褰曪級銆
鎸囧畾鎵鏈変腑闂存枃浠.o錛.obj錛夋斁緗鐨勭洰褰曘
鎸囧畾Qt璧勬簮緙栬瘧鍣ㄨ緭鍑烘枃浠剁殑鐩褰曪紙.qrc鏂囦歡杞鎹㈡垚qrc_*.h鏂囦歡鐨勫瓨鏀劇洰褰曪級銆
鎸囧畾閾炬帴鍒伴」鐩涓鐨勫簱鍒楄〃銆-L鍚庢槸搴撴枃浠剁殑鐩褰曪紝-l鍚庢槸鍏蜂綋鐨勫簱鐨勫悕瀛(鍚庣紑涓嶇敤鍔)銆備緥濡傦細
LIBS += -L$$PWD/../../../ThirdLib/winapi -lWSock32
浠呴傜敤浜嶹indows錛屾寚瀹氱殑鍥炬爣搴旇ュ寘鍚鍦ㄤ竴涓鐢熸垚鐨.rc鏂囦歡閲屻傚傛灉RC_FILE 鍜孯ES_FILE鍙橀噺閮芥病鏈夎劇疆榪欐墠鍙鍒╃敤銆
鎸囧畾鍖呭惈鐢ㄦ埛鐣岄潰緲昏瘧鏂囨湰鐨勭炕璇(.ts)鏂囦歡鍒楄〃銆
涓篧indows騫沖彴鍔犵殑渚濊禆騫沖彴鐨勬枃浠剁殑綆鍗曠殑浣滅敤鍩熺湅璧鋒潵灝卞儚榪欐牱錛
win32 { SOURCES += hello_win.cpp }
姣忔℃坊鍔犱竴涓瀛愰」鐩灝變細鍦⊿UBDIRS欏圭洰鍔犱笂涓涓欏圭洰鍚嶏紝瀛愮洰褰曢」鐩鐨 TEMPLATE = subdirs 銆 CONFIG += ordered 鏄璁╅」鐩鎸夌収欏哄簭緙栬瘧錛岀敱浜庝富紼嬪簭渚濊禆浜庡瑰簲鐨勫簱錛屼竴鑸閮芥槸鎶奙ainApp鏀懼湪SUBDIRS鐨勬渶鍚庛
瀵逛簬涓浜涘簱鍜屼富紼嬪簭閮介渶瑕佺殑鐩褰曡劇疆 (鏋勫緩鐩褰曘乷bj鐢熸垚鐩褰曘乵oc鏂囦歡鐢熸垚鐩褰曠瓑)錛屽彲浠ョ粺涓鍐欏湪涓涓猵ri鏂囦歡涓錛
鍦ㄩ渶瑕佸紩鐢ㄧ殑pro鏂囦歡涓錛
include($$PWD/../../../Path.pri)
message($$INCLUDEPATH) , 浼氬湪姒傝佷俊鎮涓鎵撳嵃鐩稿叧鍙橀噺鐨勫
涓葷▼搴忕殑 TEMPLATE = app 銆傞櫎浜嗗父瑙勭殑pro璁劇疆澶栵紝瑕佽板緱灝嗚嚜宸辯紪鐨勫簱鐨勫ご鏂囦歡鐩褰曞姞涓婏紝騫跺皢鐢熸垚鐨刣ll閫氳繃LIBS閾炬帴錛
搴撶殑 TEMPLATE = lib 銆傚簱鍦ㄩ氳繃Creator鏂板緩鐨勬椂鍊欎細鐢熸垚涓涓獂xx_global.h錛屽畾涔変簡瀵煎嚭搴撶殑鐩稿叧淇℃伅錛
鍦ㄥ簱涓瑕佷綔涓烘帴鍙g殑綾昏板緱鍔犱笂瀵瑰簲鐨勫畯錛
class TESTLIBSHARED_EXPORT TestLib : public QObject
闈欐佸簱璨屼技涓嶉渶瑕佽繖涓錛屽緟嫻嬭瘯...