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文件