在使用iar,keil寫微控制器時,都可以先#define乙個變數,然後根據變數的不同值編譯不同的**
在qt裡也可以這樣,針對嵌入式的程式,一般是會在x86上編譯,debug,然後再部署到arm去跑,這樣,x86與arm之間,可能就會有一些差異,如不同的平台,呼叫不同的庫,這樣就可以先#define乙個變數,再根據變數去自動包含需要編譯的東西。
首先在project settings裡增加build 引數defines:如我增加專門針對arm板上跑的引數defines+=arm
在原始檔裡就可以直接使用條件判斷
#ifdef arm
// arm use only
qwsserver::setcursorvisible(false);
#endif
在pro檔案裡也可以使用:
if(contains(defines,arm))else
Qt設定根據編譯器不同鏈結不同的lib庫
我們知道qt的pro工程檔案中可以編寫編譯條件,根據不同的條件生成不同的編譯指令,常用的是根據系統的不同包含不同的原始檔,如 win32 linux除了原始檔,鏈結的lib檔案也需要在pro中指定,而在windows平台中,可選的編譯器有msvc和mingw兩種,且這兩種編譯器的庫檔案不能通用,那麼...
DataTemplate 根據條件選擇不同模板
msdn datatemplate 為了不同的條件選擇模板,可以實現乙個datatemplateselector。1 模板選擇器是繼承自datatemplateselector,並重寫了selecttemplate方法並返回所需要的模板的類 public class persontemplatese...
oracle根據不同條件給字段賦不同的值
話不多說,先貼 declare cursor my cur is select t.empno,t.deptno,t.sal from scott.emp t where t.empno 7698 for update of sal 鎖定sal這一列,不允許其他session更新sal列的資料 nu...