1.常量中有換行符Qt5-》vs的解決方案;2.同一份代碼Qt和vs共同編譯的問題和解決方案

1.常量中有換行符Qt5-》vs的解決方案

原帖地址:https://blog.csdn.net/CuteSoap/article/details/79718165

今天將qt項目從mingw轉成msvc2013編譯時,中文字符報錯,查找網上方法後,得到我滿意的解決方案。

文件格式依舊時默認的UTF-8格式。

1.用Sublime等編輯器將 存有中文字符的代碼文件打開,並以UTF-8 withBOM格式保存

保存編碼只針對main.cpp,兩個文件要保存編碼兩次


2.打開項目,再存有中文字符的代碼文件 的頭文件中 添加一行代碼
#pragma execution_character_set("utf-8")
這樣用vc的編譯器也能編譯utf-8格式的代碼了。

2.同一份代碼Qt和vs共同編譯的問題和解決方案

1.兩者的編譯路徑不一樣,Qt一般是影子路徑,VS一般是當前路徑(pro路徑)

           

2.當VS編譯時會在,當前路徑生成ui文件,導致Qt編譯時,不會生成新的ui文件,而是讀取VS編譯的
         UI_DIR = temp/ui;VS:pro/temp/ui;Qt:build/temp/ui

3.涉及到外部動態庫,配置文件的讀取,兩者編譯時無法複用

          DESTDIR = $$PWD/bin,確保兩者的生成的exe等指向的項目路徑一樣

4.UTF-8和UTF-8 BOM的解決方案

          看常量中有換行符Qt5-》vs的解決方案

5.由於時代碼複用,VS每次編譯時都需要重新打開pro文件

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章