繁体   English   中英

无法使用clang_complete完成qt

[英]cannot complete qt with clang_complete

我正在尝试使用clang_complete作为vim C ++完成。 我必须注意,我也在使用病原体 我采购了为clang-pathogen提供的vimball,并将所有内容放入我的~/.vim/bundle/Clang_complete目录中,并且所有内容都像魔术一样工作...我的STLBoost完成效果很好。

这是我所做的:


1 /创建一个test_qt.cpp文件

#include <QApplication>
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
window.resize(250, 150);

window.setWindowTitle("Simple example");
window.show();
return app.exec();
}

2 /运行qmake -project


3 /运行qmake -o Makefile testFiles.pro


4 /跑去make

 make
 g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o test_qt.o test_qt.cpp
 g++ -m64 -Wl,-O1 -o testFiles test_qt.o    -L/usr/lib/x86_64-linux-gnu -lQtGui -lQtCore -lpthread 

5 /跑./testFiles ,一切顺利,我得到了一个愚蠢的窗口...

所以我不明白为什么我不能完成qt ...我的Makefile是正确生成的,我该怎么办? 我试着跑

statquant@euclide:~/.vim/testFiles$ make CC= '~/.vim/bundle/Clang_Complete-Pathogen/bin/cc_args.py' CXX='~/.vim/bundle/Clang_Complete-Pathogen/bin/cc_args.py'

但是得到了:

make: Nothing to be done for `/home/statquant/.vim/bundle/Clang_Complete-Pathogen/bin/cc_args.py'.

首先,您的命令中有多余的空格:

make CC=<HERE>'~/.vim/bundle/Clang_Complete-Pathogen/bin/cc_args.py' CXX='~/.vim/bundle/Clang_Complete-Pathogen/bin/cc_args.py'

您应该将其删除。 其次,您的命令是错误的-您未指定编译器。 总而言之,它应如下所示:

make CC='~/.vim/bundle/Clang_Complete-Pathogen/bin/cc_args.py gcc' CXX='~/.vim/bundle/Clang_Complete-Pathogen/bin/cc_args.py g++' -B

这是因为从本质cc_args.pycc_args.py将充当包装器(对于编译器可执行文件),以记录在项目编译期间传递了哪些-I-D和其他标志。 然后它将巧妙地将所有标志转发给编译器本身-这样就可以正确构建项目。 调用:h clang_complete-cc_args并查看cc_args.py以获得更好的理解-这很简单。

注意: -B标志用于强制make进行构建,而不管您当前的构建是否是最新的。 这样, .clang_complete文件始终是最新的。

最后,如果毕竟它仍然不起作用,则意味着qmake生成的makefile不遵循CCCXX环境变量,而是遵循编译器可执行文件的硬编码路径。 我不记得qmake是否是这种情况,但是再次,如果全部失败,那么这是唯一的原因-您可以通过检查生成的makefile轻松检查。

祝好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM