所以这里是交易。我正在构建 Marble,女巫是我从Ubuntu 上的https://marble.kde.org/sources.php获得的
(uname -a returnes: Linux pe-X550CC 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux)
我正在使用 cmake 版本 3.5.1 内置 cmake 的输出是:
-- Please include /usr/lib/x86_64-linux-gnu/marble/plugins in the QML_IMPORT_PATH environment variable to use Marble's Qt declarative plugins.
-- Note: Marble Desktop does not make use of declarative plugins. Ignore the message above if you only intend to use the Desktop version.
-- Checking for module 'liblocation>=0.102'
--
--
-- The following features have been enabled:
* 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 Desktop/Mobile applications , Build Marble Desktop/Mobile applications. Toggle with BUILD_MARBLE_APPS=YES/NO.
-- The following OPTIONAL packages have been found:
* Qt5Gui (required version >= 5.5.1)
* Qt5WebKit
* Qt5WebKitWidgets
* Qt5UiPlugin (required version >= 5.5.1)
* Qt5Designer
* Phonon , cross-platform multimedia framework that enables the use of audio and video content , <http://qt.digia.com/>
Support for playback of soundcue elements
Voice navigation (sound or human speakers)
* Perl , <http://www.perl.org>
generation of sources in the APRS plugin
* QextSerialPort , access to serial ports , <http://code.google.com/p/qextserialport/>
Reading from serial port in APRS plugin
* libgps , communicating with the GPS daemon , <http://catb.org/gpsd/>
position information via gpsd
* Qt5Location , geographical support for position and map use , <http://qt.digia.com/>
position information via Qt5Positioning and QtLocation
* Qt5Positioning , a collection of APIs and frameworks , <http://qt.digia.com/>
Required for QtLocation to work
* libwlocate , WLAN-based geolocation , <http://www.openwlanmap.org/>
Position information based on neighboring WLAN networks
* libshp , reading and writing of ESRI Shapefiles (.shp) , <http://shapelib.maptools.org/>
reading and displaying .shp files
-- The following REQUIRED packages have been found:
* Qt5DBus
* Qt5Core
* Qt5Xml
* Qt5Network
* Qt5Test
* Qt5Script
* Qt5Widgets
* Qt5Svg
* Qt5Sql
* Qt5Concurrent
* Qt5Qml (required version >= 5.5.1)
* Qt5Quick
* Qt5OpenGL
* Qt5PrintSupport
-- The following features have been disabled:
* 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:
* liblocation , position information on Maemo 5 devices , <http://maemo.org/>
position information via GPS/WLAN for the Nokia N900 smartphone
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pe/marble/build
对我来说似乎很好,所以,做 make )
[ 72%] Building CXX object src/plugins/runner/nominatim-search/CMakeFiles/NominatimSearchPlugin.dir/OsmNominatimSearchRunner.cpp.o
/home/pe/marble/sources/src/plugins/positionprovider/gpsd/GpsdPositionProviderPlugin.cpp: In member function ‘void Marble::GpsdPositionProviderPlugin::update(gps_data_t)’:
/home/pe/marble/sources/src/plugins/positionprovider/gpsd/GpsdPositionProviderPlugin.cpp:79:68: error: ‘isnan’ was not declared in this scope
if ( data.status == STATUS_NO_FIX || isnan( data.fix.longitude ) || isnan( data.fix.latitude ) )
^
/home/pe/marble/sources/src/plugins/positionprovider/gpsd/GpsdPositionProviderPlugin.cpp:79:68: note: suggested alternative:
In file included from /usr/include/c++/5/random:38:0,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:85,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:37,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:41,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h:37,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime:1,
from /home/pe/marble/sources/src/lib/marble/PositionProviderPluginInterface.h:14,
from /home/pe/marble/sources/src/lib/marble/PositionProviderPlugin.h:14,
from /home/pe/marble/sources/src/plugins/positionprovider/gpsd/GpsdPositionProviderPlugin.h:14,
from /home/pe/marble/sources/src/plugins/positionprovider/gpsd/GpsdPositionProviderPlugin.cpp:11:
/usr/include/c++/5/cmath:641:5: note: ‘std::isnan’
isnan(_Tp __x)
^
src/plugins/positionprovider/gpsd/CMakeFiles/GpsdPositionProviderPlugin.dir/build.make:86: recipe for target 'src/plugins/positionprovider/gpsd/CMakeFiles/GpsdPositionProviderPlugin.dir/GpsdPositionProviderPlugin.cpp.o' failed
make[2]: *** [src/plugins/positionprovider/gpsd/CMakeFiles/GpsdPositionProviderPlugin.dir/GpsdPositionProviderPlugin.cpp.o] Error 1
CMakeFiles/Makefile2:4756: recipe for target 'src/plugins/positionprovider/gpsd/CMakeFiles/GpsdPositionProviderPlugin.dir/all' failed
make[1]: *** [src/plugins/positionprovider/gpsd/CMakeFiles/GpsdPositionProviderPlugin.dir/all] Error 2
关于如何构建大理石的任何想法?