元の場所から読み取ることができるように変更した後、vim/syntastic で Qt5 を使用しています。.gvimrc
私が気付いた問題は、Qt ライブラリを含むファイルでは、すべての形式の構文チェックが無効になっていることです。
私の関連するセグメントは次の.gvimrc
とおりです。
au BufNewFile,BufRead *.cpp set syntax=cpp11
"set statusline+=%#warningmsg#
"set statusline+=%{SyntasticStatuslineFlag()}
"set statusline+=%*
let g:syntastic_cpp_include_dirs = ['/opt/Qt5.0.0/5.0.0/gcc_64/include/QtCore', '/opt/Qt5.0.0/5.0.0/gcc_64/include/QtWidgets']
set path=../include
let g:syntastic_cpp_check_header = 1
let g:syntastic_auto_loc_list = 0
let g:syntastic_enable_signs=1
let g:syntastic_quiet_warnings=1
set wildchar=<Tab> wildmenu wildmode=full
.. 説明のために、以下のコード ブロックには浮動小数点数文字列が含まれていますが、vim は構文エラーとしてフラグを立てません。先頭に Qt ヘッダー ファイルを #include している限り、エラーはまったく表示されません。それらを cpp ファイルから削除するか、gvimrc で構文をそれらに接続するエントリを削除すると、構文の強調表示が正常に再開されます。
#include <qapplication.h>
#include <qsplitter.h>
#include <qlistview.h>
#include <qstringlist.h>
#include <qstandarditemmodel.h>
int main(int argc, char* argv[]){
QApplication app (argc,argv);
QSplitter *splitter = new QSplitter;
QStandardItemModel model(2,1,343,44)sd2;
QListView *list = new QListView (splitter);
list->setModel(model);
splitter->show();
return app.exec();
8098707807
//Creating a list of objects to be shown in the view
QList<QString> indices;
indices<<"ABC"<<"JKL";
model.setItem(0,0,indices[0]);
}
.gvimrc
上記のスクリプトを見ると、何か間違っていることがありますか、それともシンタスティックがこれらのヘッダーをサポートしていませんか?