Hello everybody, My name is Anthony and I looking for updgrading the MarbleWidget library that I already use from its (very) old version 0.19.2 to the last one 17.12.
I already know the widget, I integrated the old version 5 years ago. I try to compile the new library and I get a compiler error. Please, firstly, take a look to my CMake configuration (I can give you the CMakeCache.txt too): The C compiler identification is MSVC 19.12.25835.0 > > The CXX compiler identification is MSVC 19.12.25835.0 > > Check for working C compiler: C:/Program Files (x86)/Microsoft Visual > Studio/2017/Professional/VC/Tools/MSVC/14.12.25827/bin/Hostx86/x64/cl.exe > > Check for working C compiler: C:/Program Files (x86)/Microsoft Visual > Studio/2017/Professional/VC/Tools/MSVC/14.12.25827/bin/Hostx86/x64/cl.exe > -- works > > Detecting C compiler ABI info > > Detecting C compiler ABI info - done > > Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual > Studio/2017/Professional/VC/Tools/MSVC/14.12.25827/bin/Hostx86/x64/cl.exe > > Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual > Studio/2017/Professional/VC/Tools/MSVC/14.12.25827/bin/Hostx86/x64/cl.exe > -- works > > Detecting CXX compiler ABI info > > Detecting CXX compiler ABI info - done > > Detecting CXX compile features > > Detecting CXX compile features - done > > CMake Warning (dev) at CMakeLists.txt:23 (if): > Policy CMP0054 is not set: Only interpret if() arguments as variables or > keywords when unquoted. Run "cmake --help-policy CMP0054" for policy > details. Use the cmake_policy command to set the policy and suppress this > warning. > > Quoted variables like "MSVC" will no longer be dereferenced when the policy > is set to NEW. Since the policy is not set the OLD behavior will be used. > This warning is for project developers. Use -Wno-dev to suppress it. > > CMake Warning (dev) at CMakeLists.txt:28 (if): > Policy CMP0054 is not set: Only interpret if() arguments as variables or > keywords when unquoted. Run "cmake --help-policy CMP0054" for policy > details. Use the cmake_policy command to set the policy and suppress this > warning. > > Quoted variables like "MSVC" will no longer be dereferenced when the policy > is set to NEW. Since the policy is not set the OLD behavior will be used. > This warning is for project developers. Use -Wno-dev to suppress it. > > CMake Warning (dev) at CMakeLists.txt:30 (elseif): > Policy CMP0054 is not set: Only interpret if() arguments as variables or > keywords when unquoted. Run "cmake --help-policy CMP0054" for policy > details. Use the cmake_policy command to set the policy and suppress this > warning. > > Quoted variables like "MSVC" will no longer be dereferenced when the policy > is set to NEW. Since the policy is not set the OLD behavior will be used. > This warning is for project developers. Use -Wno-dev to suppress it. > > Could NOT find Qt5WebKit (missing: Qt5WebKit_DIR) > > Could NOT find Qt5WebKitWidgets (missing: Qt5WebKitWidgets_DIR) > > CMake Warning at CMakeLists.txt:131 (find_package): > Found package configuration file: > > Z:/trunk/ThirdParty/Lib/Qt/5.9.4_x64/lib/cmake/Qt5/Qt5Config.cmake > > but it set Qt5_FOUND to FALSE so package "Qt5" is considered to be NOT > FOUND. Reason given by package: > > Failed to find Qt5 component "WebKit" config file at > > "Z:/trunk/ThirdParty/Lib/Qt/5.9.4_x64/lib/cmake/Qt5WebKit/Qt5WebKitConfig.cmake" > > > Failed to find Qt5 component "WebKitWidgets" config file at > > "Z:/trunk/ThirdParty/Lib/Qt/5.9.4_x64/lib/cmake/Qt5WebKitWidgets/Qt5WebKitWidgetsConfig.cmake" > > > > > > The following features have been enabled: > > > * Marble Desktop/Mobile applications, Build Marble Desktop/Mobile > applications. Toggle with BUILD_MARBLE_APPS=YES/NO. > > > -- The following OPTIONAL packages have been found: > > > * Qt5LinguistTools > > * Perl, <http://www.perl.org> > > generation of sources in the APRS plugin > > * Qt5SerialPort, Provides access to hardware and virtual serial ports. > > Reading from serial port in APRS plugin > > * Qt5Positioning, a collection of APIs and frameworks, < > http://qt.digia.com/> > > position information via Qt5Positioning > > > -- The following REQUIRED packages have been found: > > > * Qt5Core > > * Qt5Xml > > * Qt5Network > > * Qt5Test > > * Qt5Gui (required version >= 5.9.4) > > * Qt5Widgets > > * Qt5Svg > > * Qt5Sql > > * Qt5Concurrent > > * Qt5Qml (required version >= 5.9.4) > > * Qt5Quick > > * Qt5PrintSupport > > * Qt5 (required version >= 5.3.0) > > > -- The following features have been disabled: > > > * Unit tests, Build unit tests. Toggle with BUILD_MARBLE_TESTS=YES/NO. > 'make test' will run all. > > * Qt Designer plugins, Marble widget support in Qt Designer. Toggle with > WITH_DESIGNER_PLUGIN=YES/NO > > * Marble tools, Build various Marble tools for e.g. file format > conversion. Toggle with BUILD_MARBLE_TOOLS=YES/NO. > > * Marble library C++ examples, Build C++ examples showing how to use the > Marble library. Toggle with BUILD_MARBLE_EXAMPLES=YES/NO. > > > -- The following OPTIONAL packages have not been found: > > > * Qt5WebKit > > * Qt5WebKitWidgets > > * ECM (required version >= 1.7.0) > > > Configuring done > Like all REQUIRED packages have been found, I suppose the configuration correctly done. Am I right ? Once done, I compile in Debug x64 the ALL_BUILD project and I get no errors. Just some warnings ( 193, "C4996: This function or variable may be unsafe.", for most of them). When I trying to compile in Release x64, during the marblewidget build, I get error: >z:\trunk\thirdparty\lib\qt\5.9.4_x64\include\qtcore\qstringbuilder.h(354): > fatal error C1001: An internal error has occurred in the compiler. > Have you any ideas or tricks to solve this error, please ? I tried with the branch 17.08 and 17.04, I get the same behavior. Thank you in advance for your help ! Best Regards, Anthony