When using visual studio projects the quotes are not removed before the path is resolved, which leads to wrong include pathes
Example AdditionalIncludeDirectories section from vcxprj
<AdditionalIncludeDirectories>"..\..\..\3rdparty\Qt\include\QtCore";"..\..\..\3rdparty\Qt\include\QtNetwork";"..\..\..\3rdparty\Qt\include\QtGui";"..\..\..\3rdparty\Qt\include\QtOpenGL";"..\..\..\3rdparty\Qt\include\QtXml";"..\..\..\3rdparty\Qt\include\QtSql";"..\..\..\3rdparty\Qt\include";"D:\source\12.0\version\.temp\vc143-64\PARTproject.pro\moc";"..\..\..\3rdparty\subversion\subversion-1.14.2\PSOL\version\vc143-64\rel\include";"..\..\..\3rdparty\apr\include";"..\..\..\3rdparty\apr_util\include";"..\..\..\3rdparty\boost";"..\..\..\version\.temp\vc143-64\pproject\uic";"..\..\..\version\.temp\vc143-64\pproject\moc";"..\..\..\version\.temp\vc143-64\pproject\obj-rel";"..\..\..\version\.temp\vc143-64\pproject\rcc";"..\..\..\3rdparty";"..\..\..\3rdparty\log4cxx\src\main\include";"..\..\..\libs";"..\..\..\libs\zApp";".";"..\..\..\3rdparty\Qt\include\ActiveQt";"..\..\..\version\.temp\vc143-64\pproject\uic";..\..\..\build\psol\mkspecs\win32-msvc2022-64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/FS /bigobj /std:c++20 /permissive /Zc:rvalueCast /Zc:ternary /Zc:char8_t /Zc:hiddenFriend /Zc:lambda /Zc:__cplusplus /Zc:referenceBinding -w34265 -w34589 -w34702 -w34456 %(AdditionalOptions)</AdditionalOptions>
Hacky fix:
diff -r C:\bla\cppcheck-2.16.0\lib\importproject.cpp C:\bla\cppcheck-2.16.0_orig\lib\importproject.cpp 151c151 < for (std::string ipath : copyIn) { --- > for (const std::string &ipath : copyIn) { 157,158d155 < if (startsWith(ipath, "\"")) < ipath = ipath.erase(0, 1); 160,161d155 < if (endsWith(ipath, "\"")) < ipath = ipath.erase(ipath.size()-1, 1);
Thanks for reporting this issue. I have created this ticket: https://trac.cppcheck.net/ticket/13963
Log in to post a comment.
When using visual studio projects the quotes are not removed before the path is resolved, which leads to wrong include pathes
Example AdditionalIncludeDirectories section from vcxprj
Hacky fix:
Thanks for reporting this issue. I have created this ticket:
https://trac.cppcheck.net/ticket/13963