You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#include<QtGui>// this causes the wrong path// #include <QtGui/QIcon> // this works// #include <QIcon> // this worksintmain( int argc, char* argv[] )
{
}
When building via make all
the precomiled header in _build/cotire/app_CXX_prefix.cxx contains:
which results in the following compile error: _build/cotire/app_CXX_prefix.cxx:5: /usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework/QtGui:1:1: error: source file is not valid UTF-8 <CF><FA><ED><FE><U+0007>
because the /usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework/QtGui
is actually a dynamically linked shared library, but
the header file #include <QtGui> is actually here /usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework/Headers/QtGui
so the generated path is wrong (missing "Headers"), however using any header like #include <QtGui/QIcon> or #include <QIcon>
(QIcon is in /usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework/Headers/QIcon)
will produce a correct build/cotire/app_CXX_prefix.cxx like, e.g.
so it seems to be only caused by including "generic" headers of Qt modules
more details:
output of cmake -DCOTIRE_DEBUG=TRUE .
cotire 1.7.9 loaded.
Target app compile flags: -g;-fPIC
Filter arch unmatched: -g;-fPIC
C source file extensions: c;m
C ignore extensions: h;H;o;O;obj;OBJ;def;DEF;rc;RC
C exclude extensions: m;mm
Target app compile flags: -g;-fPIC;-std=gnu++11
Filter arch unmatched: -g;-fPIC;-std=gnu++11
CXX source file extensions: C;M;c++;cc;cpp;cxx;mm;CPP
CXX ignore extensions: inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC
CXX exclude extensions: m;mm
Filtered app CXX sources: main.cpp
CXX target app cotired.
CXX source file extensions: C;M;c++;cc;cpp;cxx;mm;CPP
CXX ignore extensions: inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC
CXX exclude extensions: m;mm
Filtered app CXX sources: main.cpp
Target app compile flags: -g;-fPIC;-std=gnu++11
Filter I unmatched: -g;-fPIC;-std=gnu++11
Filter isystem unmatched: -g;-fPIC;-std=gnu++11
Target app include dirs: /usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework;/usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework/Headers;/System/Library/Frameworks/OpenGL.framework/Headers;/usr/local/Cellar/qt/5.8.0_2/lib/QtCore.framework;/usr/local/Cellar/qt/5.8.0_2/lib/QtCore.framework/Headers;/usr/local/Cellar/qt/5.8.0_2/.//mkspecs/macx-clang
Target app compile flags: -g;-fPIC;-std=gnu++11
Filter D unmatched: -g;-fPIC;-std=gnu++11
Target app compile definitions: QT_GUI_LIB;QT_CORE_LIB;$<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>
Target app compile flags: -g;-fPIC;-std=gnu++11
Filter D|I|isystem unmatched: -g;-fPIC;-std=gnu++11
Target app compiler flags: -g;-fPIC;-std=gnu++11
# cotire.cmake 1.7.9 generated file
# /Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/app_CXX_cotire.cmake
set (COTIRE_ADDITIONAL_PREFIX_HEADER_IGNORE_EXTENSIONS "inc;inl;ipp")
set (COTIRE_ADDITIONAL_PREFIX_HEADER_IGNORE_PATH "")
set (COTIRE_CLEAN_ALL_TARGET_NAME "clean_cotire")
set (COTIRE_CLEAN_TARGET_SUFFIX "_clean_cotire")
set (COTIRE_CMAKE_MODULE_FILE "/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/cmake/cotire/CMake/cotire.cmake")
set (COTIRE_CMAKE_MODULE_VERSION "1.7.9")
set (COTIRE_DEBUG "TRUE")
set (COTIRE_DEBUG "TRUE")
set (COTIRE_INTDIR "cotire")
set (COTIRE_MAXIMUM_NUMBER_OF_UNITY_INCLUDES "0")
set (COTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES "1")
set (COTIRE_PCH_ALL_TARGET_NAME "all_pch")
set (COTIRE_PCH_TARGET_SUFFIX "_pch")
set (COTIRE_PREFIX_HEADER_FILENAME_SUFFIX "_prefix")
set (COTIRE_TARGETS_FOLDER "cotire")
set (COTIRE_TARGET_COMPILE_DEFINITIONS_DEBUG "QT_GUI_LIB;QT_CORE_LIB;$<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>")
set (COTIRE_TARGET_COMPILE_FLAGS_DEBUG "-g;-fPIC;-std=gnu++11")
set (COTIRE_TARGET_CONFIGURATION_TYPES "Debug")
set (COTIRE_TARGET_CXX_COMPILER_LAUNCHER "COTIRE_TARGET_CXX_COMPILER_LAUNCHER-NOTFOUND")
set (COTIRE_TARGET_IGNORE_PATH "/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem")
set (COTIRE_TARGET_INCLUDE_DIRECTORIES_DEBUG "/usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework;/usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework/Headers;/System/Library/Frameworks/OpenGL.framework/Headers;/usr/local/Cellar/qt/5.8.0_2/lib/QtCore.framework;/usr/local/Cellar/qt/5.8.0_2/lib/QtCore.framework/Headers;/usr/local/Cellar/qt/5.8.0_2/.//mkspecs/macx-clang")
set (COTIRE_TARGET_INCLUDE_PRIORITY_PATH "")
set (COTIRE_TARGET_LANGUAGE "CXX")
set (COTIRE_TARGET_MAXIMUM_NUMBER_OF_INCLUDES "")
set (COTIRE_TARGET_POST_UNDEFS "")
set (COTIRE_TARGET_PRE_UNDEFS "")
set (COTIRE_TARGET_SOURCES "main.cpp")
set (COTIRE_UNITY_BUILD_ALL_TARGET_NAME "all_unity")
set (COTIRE_UNITY_BUILD_TARGET_SUFFIX "_unity")
set (COTIRE_UNITY_OUTPUT_DIRECTORY "")
set (COTIRE_UNITY_SOURCE_EXCLUDE_EXTENSIONS "m;mm")
set (COTIRE_UNITY_SOURCE_FILENAME_SUFFIX "_unity")
set (CMAKE_GENERATOR "Unix Makefiles")
set (CMAKE_BUILD_TYPE "Debug")
set (CMAKE_CXX_COMPILER_ID "Clang")
set (CMAKE_CXX_COMPILER_VERSION "8.0.0.8000042")
set (CMAKE_CXX_COMPILER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++")
set (CMAKE_CXX_COMPILER_ARG1 "")
set (CMAKE_INCLUDE_FLAG_CXX "-I")
set (CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem ")
set (CMAKE_CXX_FRAMEWORK_SEARCH_FLAG "-F")
set (CMAKE_CXX_SYSTEM_FRAMEWORK_SEARCH_FLAG "-iframework ")
set (CMAKE_CXX_SOURCE_FILE_EXTENSIONS "C;M;c++;cc;cpp;cxx;mm;CPP")
/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/app_CXX_cotire.cmake unchanged
app unity source max includes: 0
unity files: /Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_unity.cxx
add_custom_command: OUTPUT /Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_unity.cxx COMMAND /Applications/CMake.app/Contents/bin/cmake;--warn-uninitialized;-DCOTIRE_BUILD_TYPE:STRING=$<CONFIGURATION>;-DCOTIRE_VERBOSE:BOOL=ON;-P;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/cmake/cotire/CMake/cotire.cmake;unity;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/app_CXX_$<$<CONFIG:>:None>$<$<NOT:$<CONFIG:>>:$<CONFIGURATION>>_cotire.cmake;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_unity.cxx DEPENDS /Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/app_CXX_$<$<CONFIG:>:None>$<$<NOT:$<CONFIG:>>:$<CONFIGURATION>>_cotire.cmake
add_custom_command: OUTPUT /Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_prefix.cxx COMMAND /Applications/CMake.app/Contents/bin/cmake;--warn-uninitialized;-DCOTIRE_BUILD_TYPE:STRING=$<CONFIGURATION>;-DCOTIRE_VERBOSE:BOOL=ON;-P;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/cmake/cotire/CMake/cotire.cmake;prefix;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/app_CXX_$<$<CONFIG:>:None>$<$<NOT:$<CONFIG:>>:$<CONFIGURATION>>_cotire.cmake;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_prefix.cxx;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_unity.cxx DEPENDS /Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_unity.cxx /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
add_custom_command: OUTPUT /Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_prefix.hxx COMMAND /Applications/CMake.app/Contents/bin/cmake;--warn-uninitialized;-DCOTIRE_BUILD_TYPE:STRING=$<CONFIGURATION>;-DCOTIRE_VERBOSE:BOOL=ON;-P;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/cmake/cotire/CMake/cotire.cmake;combine;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/app_CXX_$<$<CONFIG:>:None>$<$<NOT:$<CONFIG:>>:$<CONFIGURATION>>_cotire.cmake;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_prefix.hxx;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_prefix.cxx DEPENDS /Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_prefix.cxx
Target app compile flags: -g;-fPIC;-std=gnu++11
Filter arch unmatched: -g;-fPIC;-std=gnu++11
add_custom_command: OUTPUT /Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_prefix.hxx.pch /Applications/CMake.app/Contents/bin/cmake;--warn-uninitialized;-DCOTIRE_BUILD_TYPE:STRING=$<CONFIGURATION>;-DCOTIRE_VERBOSE:BOOL=ON;-P;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/cmake/cotire/CMake/cotire.cmake;precompile;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/app_CXX_$<$<CONFIG:>:None>$<$<NOT:$<CONFIG:>>:$<CONFIGURATION>>_cotire.cmake;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_prefix.hxx;/Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_prefix.hxx.pch;main.cpp DEPENDS /Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_prefix.hxx /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ IMPLICIT_DEPENDS CXX /Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_prefix.hxx
CXX source file extensions: C;M;c++;cc;cpp;cxx;mm;CPP
CXX ignore extensions: inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC
CXX exclude extensions: m;mm
Filtered app CXX sources: main.cpp
add target EXECUTABLE app_unity EXCLUDE_FROM_ALL /Users/kapec/Desktop/Dev/Tmp/QtGUI-problem/_build/cotire/app_CXX_unity.cxx
unity target app_unity link strategy: COPY_UNITY
unity target app_unity link libraries: Qt5::Gui
unity target app_unity interface link libraries: Qt5::Gui
Configuring done
possible source of the problem: COTIRE_TARGET_INCLUDE_DIRECTORIES_DEBUG contains /usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework;/usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework/Headers;
(as the result of /usr/local/Cellar/qt/5.8.0_2/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake)
Unity build works OK.
My current workaround: do not use #include <QtGui>
The text was updated successfully, but these errors were encountered:
This may have been fixed with Cotire 1.8.0 - at least I'm not getting this particular problem anymore (I was with 1.7.10). However, I have filed a separate issue #166 against 1.8.0.
I was wrong about thinking it was fixed with Cotire 1.8.0. I'm also still seeing this problem. Oddly enough, some includes are ok, but there's still the root file in a Qt framework being pulled in (in my case it's QtWidgets).
Hi
First thank you for this great tool!
After upgrading my large project from Qt4 to Qt5 the following problem occured.
related issue: #69
environment:
This is a minimal example that re-produces the error:
(using
COTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES=1
)CMakeLists.txt:
main.cpp:
When building via
make all
the precomiled header in _build/cotire/app_CXX_prefix.cxx contains:
which results in the following compile error:
_build/cotire/app_CXX_prefix.cxx:5: /usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework/QtGui:1:1: error: source file is not valid UTF-8 <CF><FA><ED><FE><U+0007>
because the
/usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework/QtGui
is actually a dynamically linked shared library, but
the header file
#include <QtGui>
is actually here/usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework/Headers/QtGui
so the generated path is wrong (missing "Headers"), however using any header like
#include <QtGui/QIcon>
or#include <QIcon>
(QIcon is in
/usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework/Headers/QIcon
)will produce a correct build/cotire/app_CXX_prefix.cxx like, e.g.
so it seems to be only caused by including "generic" headers of Qt modules
more details:
output of
cmake -DCOTIRE_DEBUG=TRUE .
possible source of the problem:
COTIRE_TARGET_INCLUDE_DIRECTORIES_DEBUG
contains/usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework;/usr/local/Cellar/qt/5.8.0_2/lib/QtGui.framework/Headers;
(as the result of
/usr/local/Cellar/qt/5.8.0_2/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake
)Unity build works OK.
My current workaround: do not use
#include <QtGui>
The text was updated successfully, but these errors were encountered: