QtCreator plugin for cppcheck, krazy and other tools
-
How does it work technically? Is your plugin parsing the output of those tools and inserts the issues itself or is it using the task list plugin to display the list of issues?
-
When --qtc-plugin is NOT present, it just prints out the commands output "cppcheck" or "krazy"
When --qtc-plugin is present, it does:
parses the command output generating a tasks files,
see http://qt-project.org/doc/qtcreator-2.6/creator-task-lists.html
call qtcreator back using the options: -client -pid, passing the tasks file, then qtcreator opens the tasks file and put the content into issues pane
After few time removes the tasks file
So, if you execute the "qpt" outside qtcreator using --qtc-plugin it should also works.
-
Cool, thanks for the information.
-
I am using this module QCommandLine, it is also open source and I got it from http://xf.iksaif.net/dev/qcommandline.html.
I am sorry, I am not able to help at this point unless I try to compile on Windows, I do not have any Windows compiler.
I think that is in the link process and you are close to compile it.
Once you get it compiled, qmake and qtcreator must be in the PATH in order to work.
Try to research about this problem or contact the QCommandLine author.
-
I would recommend it, but given the hassle to set things up I'd give 4/5 stars. In addition to the manual, using windows there are couple of things to bear in mind:
- in the arguments field during setting up, be aware that unless you set cppcheck in your environment paths, "--tool=cppcheck" does not work. You'll need to set the directory:
@--qtc-plugin --tool="C:/Cppcheck-1.55/cppcheck.exe" %{CurrentProject:FilePath} @
-
You'll need to set an environment paths to QtCreator(usually in C:\Qt\Qt5.0.2\Tools\QtCreator\bin). Without this the warning messages from cppcheck does not show up in the issues pane
-
Don't use cppcheck 1.60. In qpt 0.7, it doesn't work. I got things running with cppcheck 1.55.
And thus, a happy user of QtProjectTool! :D
!https://lh6.googleusercontent.com/-byu0-9Dqaro/UayAScAJ3gI/AAAAAAAABWc/nw5Ld_YStvw/w617-h585-no/QtProjectTool+Screenshot.png(QtProjectTool running in windows 7)!
windows 7 32bit, Qt 5.0.2 MinGW, cppcheck 1.55
-
Not a very good method for tool version check:
you are getting the numeric part and blindly converting to double. Well, it's a bit optimistic assumption that a version number will be a valid numeric value!In fact, now that cppcheck went up to version 1.60.1, QPT happily states that "Tool cppcheck-gui requires a minimal version 1.55".
-
It is a bug and will be fixed soon.
As a work around try to edit the configuration file, qpt prints the path of the configuration file when it starts.
It is usually located at $HOME/.config/QtProjectTool/qpt.initry to clear the minimal version line, change:
Mininal_version_USE_only_digist_and_dot_it_will_be_converted_to_float=1.58
to
Mininal_version_USE_only_digist_and_dot_it_will_be_converted_to_float=
That should work.
-
I did it the other way :)
Created a QByteArray w2 where to copy all the numbers without any punctuation sign. So 1.60.1 ends up being 1601 which is greater than 1.55
Maybe it's a good idea for version checking (I didn't stop to think about implications of doing this... it was just a workaround) -
Hello,
Version 0.8 has been released with some improvements, see "RELEASE NOTES":http://sourceforge.net/projects/qtprojecttool/files/RELEASE_NOTES.txt/download
-
Version 0.8 has been released with some improvements, the main work was done to have a better Windows version.
See "RELEASE NOTES":http://sourceforge.net/projects/qtprojecttool/files/RELEASE_NOTES.txt/download
-
Thank you for your tool! But I get question marks in the file paths with non-latin letters (e.g. cyrillic letters)
@$qpt -A CET.pro/home/alex/Projects/??????/src/main.cpp
/home/alex/Projects/??????/src/mainwindow.cpp
/home/alex/Projects/??????/src/mainwindow.h@ -
Hi, it has been fixed (not published yet)
bq. ./qpt -A /home/carlos/tmp/projects/qpt_tests/Проекты/КириллическоеИмяПроекта/hello.pro
/home/carlos/tmp/projects/qpt_tests/Проекты/КириллическоеИмяПроекта/hello.cppBut, I am afraid cppcheck does not handle unicode paths:
/usr/bin/cppcheck --platform=unix32 -I . -f -q --template '{file}:{line}:{id}:{message}' --inline-suppr --enable=style --enable=unusedFunction --suppress=missingInclude:* --inconclusive --file-list=/tmp/qt_temp.Lh2660
cppcheck: error: could not find or open any of the paths given.
I use full pathname for files, I will try using relative pathnames.