Git Product home page Git Product logo

ilib's Introduction

iLib

iLib is an internationalization library written in pure ES5 Javascript. It does not require any other libraries to function, and can run equally well in various older and newer browsers, on various OS's (including mobile), nodejs, webOS, Qt/QML, RingoJS, React/Enact, or rhino/nashorn.

More elaborate documentation can be found here

What Can iLib Do?

iLib contains many classes that cover a large number of i18n topics, a lot more than almost all other JS i18n libraries.

  • String translation (ResBundle)
  • String formatting, including plurals/choice formats (IString)
  • Character type functions (like the C/C++ ctype functions) (CType)
  • Calendars (CalendarFactory)
    • Gregorian, Julian, ThaiSolar, Persian algorithmic, Persian astronomical, Hebrew, Arabic civil, Ethiopic, Coptic, Chinese Han
  • Date and time representation and conversion to other calendars (DateFactory)
  • Date and time formatting in all calendars, including full time zone support (DateFmt)
  • Time zone information from IANA TZ database (TimeZone)
  • Duration formatting for lengths of events, videos, music, etc. (DurationFmt)
  • Date range formatting with specific start and end times (DateRngFmt)
  • Unicode character normalization using the Unicode Normalization Algorithm (NormString)
    • Also supports full character iteration (as opposed to Unicode character iteration)
  • Unicode glyph string iteration (GlyphString)
  • Number parsing (INumber) and numeric formatting, including percentages and currencies (NumFmt)
  • Units conversion, scaling, and formatting (lengths, volumes, temperature, velocity, etc.) (Measurement and UnitFmt)
  • Phone number parsing and normalization (PhoneNumber), geo-location (PhoneGeoLocator), and formatting (PhoneFmt)
  • Personal name parsing (Name) and formatting (NameFmt)
  • Mailing address parsing (Address) and formatting (AddressFmt)
  • Collation/sorting and sortkey generation (Collator)
  • Locale-sensitive upper- and lower-casing (CaseMapper)
  • Information about writing systems/scripts (ScriptInfo)
  • Information about currencies (Currency)
  • Information about locale settings such as default time zone, default calendar, use of 12 or 24-hour clock,
  • List formatting such as "Joe, Tom, and Steve" (ListFormatter)
  • Alphabetic index keeping. For example, it can be used to put names on a contact list into their corresponding letter buckets (AlphabeticIndex)

plus a lot more.

Only need some of that? That's okay, there's a way to make smaller versions of ilib that only include the classes you need and only the locales you need using webpack.

What Locales Does it Support?

In short: almost any that you can think of.

For most classes, it supports all locales that are in the Unicode CLDR (see http://cldr.unicode.org), which means hundreds. Since language settings are separate from region settings, the arbitrary combinations of those can reach well into the thousands. For those classes of information where CLDR does not have info yet (such as phone formats), there is a much smaller set of locales that are supported, but for all classes, the top most used locales on the Internet are represented.

Where Does it Run?

ILib has been tested in the following environments:

  • nodejs 0.10+
  • Browsers:
    • Chrome 28+
    • Firefox 35+
    • Opera 12.16+
    • Safari 6+
    • Internet Explorer 8+
  • Rhino on JDK 1.7+ and 1.8 with Trireme (0.8.5)
  • RingoJS 0.11+
  • Qt 5.4+

Those environments have been tested on the following platforms where possible:

  • Ubuntu 12.04+
  • Windows 7 & 8
  • Mac OSX 10.04+
  • Android
  • iOS

Example of Using iLib Under NodeJS or RingoJS

iLib is a regular node module and can therefore be loaded using the built-in nodejs require() function. Here is an example of using iLib to format the current date/time for Berlin, Germany. This same example works equally well with ringojs running on rhino in a Java-based app server.

var DateFactory = require("ilib/lib/DateFactory.js");
var DateFmt = require("ilib/lib/DateFmt.js");

var d = DateFactory();
var f = new DateFmt({
	locale: "de-DE",
    type: "datetime",
    length: "long",
    timezone: "Europe/Berlin"
});

f.format(d);

Result would be:

'07:45 06. Nov. 2014'

Other iLib Support

Prepackaged iLib

If you would like to run ilib in your webapp, you can use the pre-webpacked versions of ilib in the releases page on github.

Webpack

If you already use webpack for your own project, you can use the ilib webpack loader and plugin to include ilib code and locale data into your own webpacked project. The advantage is that it will only include those ilib classes you are actually using and only the locale data for the locales you specify. That helps to minimize the file size of your webpack chunks. See the README documentation in the ilib webpack loader for more details.

No Webpack

If you do not use webpack for your own project, and yet you still want a minimal version of ilib, you can use the ilib scanner to scan your webapp code and create a webpack config that will build this minimal version for you. You can just include the resulting js files in your webapp. See the README for that project for details.

React

If you are using React in your project and would like to include ilib classes, you can use the webpack loader and plugin mentioned above to do so.

Additionally, there is a new library of React components called react-ilib that will eventually allow you to use all the ilib formatters as React components, such as an address formatting component that will output an address in the correct format per locale. It says "eventually" in the previous sentence because the project is new and there is a lot left to code.

React-ilib will also include a number of new components that allow you to do localized input form elements. For example, a localized address form component will present all of the fields necessary for an address in a number of different locales, along with the localized field labels and placeholder texts. The result of a user filling out the form would be an ilib Address instance, ready to use!

ES6

If you want to use ilib classes directly from ES6 instead of using React components, you can do that with the ilib-es6 project. With this library, you can use ilib asynchronously with promises instead of node-style callbacks, and you can import the classes in regular ES6 style. This library also works nicely in React if you want to call the ilib classes directly instead of using react-ilib components.

Localizing Your Strings

If you use ilib in your javascript project, you can use the loctool to extract the strings into XLIFF files that your translation vendor can translate directly. When you received the localized XLIFF files back again, you can then run the loctool again to generate localized assets, such as resource files that ilib's ResBundle class can use, or copies of HTML files with localized text in them. See the loctool documentation for more information.

Where to Get it

For node, you can simply install it using npm or yarn:

npm install ilib
yarn add ilib

For ringojs, you can install it with the ringo package manager:

rp install ilib

ILib is also available on github at https://github.com/iLib-js/iLib or official iLib builds in tar balls at https://github.com/iLib-js/iLib/releases

You can also build your own version from the sources using webpack. See the previous section about webpack for links.

Copyright and License

Copyright (c) 2011-2024, JEDLSoft

Ilib is licensed under the Apache License, Version 2.0 (the "License"); you may not use this library except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and limitations under the License.

More Documentation

More elaborate documentation can be found here.

Other Information

Please point your browser to the following places to get more documentation:

ilib's People

Contributors

ehoogerbeets avatar gounilee avatar pedrosimeao-7egend avatar seonghyup avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ilib's Issues

[ASTRO.JS] [VITE] [ENACT] [ILIB] Could not resolve "./lib/ilib-qt.js"

When building AstroJS app with @enact/sandstone I'm getting errors like:

`X [ERROR] Could not resolve "./lib/ilib-qt.js"

node_modules/ilib/index.js:1:359:
  1 │ ..."webos-webapp":break;case"webos":case"nodejs":require("./lib/ilib-node.js");break;case"qt":require("./lib/ilib-qt.js");break;case"rhino":require("./lib/ilib-rhino.js");break;case"ringo":require("./lib/ilib-ringo.js"... 
    ╵                                                                                                       ~~~~~~~~~~~~~~~~~~

X [ERROR] Could not resolve "./lib/ilib-rhino.js"

node_modules/ilib/index.js:1:405:
  1 │ ...quire("./lib/ilib-node.js");break;case"qt":require("./lib/ilib-qt.js");break;case"rhino":require("./lib/ilib-rhino.js");break;case"ringo":require("./lib/ilib-ringo.js");break;default:ilib._dyncode=!1,ilib._dyndata=!... 
    ╵                                                                                                     ~~~~~~~~~~~~~~~~~~~~~

X [ERROR] Could not resolve "./lib/ilib-ringo.js"

node_modules/ilib/index.js:1:454:
  1 │ ...ode.js");break;case"qt":require("./lib/ilib-qt.js");break;case"rhino":require("./lib/ilib-rhino.js");break;case"ringo":require("./lib/ilib-ringo.js");break;default:ilib._dyncode=!1,ilib._dyndata=!1}module.exports=ilib; 
    ╵                         `

dependencies looks like this:

"dependencies": {
"@astrojs/react": "^3.0.4",
"@enact/core": "^4.7.6",
"@enact/i18n": "^4.7.6",
"@enact/sandstone": "^2.7.12",
"@enact/spotlight": "^4.7.6",
"@enact/ui": "^4.7.6",
"@types/react": "^18.2.35",
"@types/react-dom": "^18.2.14",
"astro": "^3.4.3",
"ilib": "^14.18.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
}

In node_modules/ilib there is no such files, so they can't be resolved. Can you help with it somehow?

Example is not working

Looks like Example of Using iLib Under NodeJS from the readme is not working:

index.js:

var DateFactory = require("ilib/lib/DateFactory.js");
var DateFmt = require("ilib/lib/DateFmt.js");

var d = DateFactory();
var f = new DateFmt({
    locale: "de-DE",
    type: "datetime",
    length: "long",
    timezone: "Europe/Berlin"
});

f.format(d);

and running it as

node index.js

throws:

TypeError: Cannot read property 'onLoad' of undefined

Anything else I should import/pass to the config object for a DateFmt?

Duration medium length formatting

I'm working to sync up with latest release version Opensource iLib to webOS platform.
While I'm working on that, I found a code difference.
When we verified locale data through the local office. They wanted to be displayed Mediums length formatting as short length. so We added this code. Please visit below link.The file is a js/lib/DurFmt.js
https://github.com/enyojs/iLib/commit/122646aa0546183b9f091bf32c93b15f8239df37

I don't want to have code difference between opensource and LG internal codes except locale json data. I want to get an opinion if that code is acceptable to opensource or not.

Persian Calendar Issue

[Info]

  • Tested in Persian Calendar with Asia/Tehran

  • Test time (Gregorian year 2018, month: 3, day:21) -->
    It's converted to Persian Date:year:1397, month:1, day: 1)

  • DST time peride offset value: 0.1875

  • Not DST time offset value: 0.1458333333

  • Issue:

If Persian date (year: 1397, month: 1: day,1)
It returns, 0.1875 in https://github.com/iLib-js/iLib/blob/development/js/lib/PersianDate.js#L229 line.
It should be 0.145833333
That day not in DST time. But iLib says it's in DST time.

Input value is Persian datetime,
https://github.com/iLib-js/iLib/blob/development/js/lib/TimeZone.js#L811 value is a bit weird.

Input parameter : PersianCal year:1397, , month:1,  day:1, hour 21: minute 13

var  d = new Date(date ? date.getTimeExtended() + offset: undefined);
new Date(date ? date.getTimeExtended() + offset : undefined);
Thu Mar 22 2018 01:43:17 GMT+0430 ()

*** More Test on Linux ***
Set time zone for Asia/Iran following steps:

  1. Check current timezone info ls -al /etc/localtime
    Changed timezone: sudo ln -sf /usr/share/zoneinfo/Asia/Tehran /etrdate -s timebora.netc/localtime
    Update time :rdate -s timebora.net
    Check a time with date command
      1. (화) 05:39:02 +0430 <-- Confirmed It's in Iran Timezone.

RataDie calculation

node v0.10
new Date(2019, 2, 31)
Sat Mar 30 2019 23:00:00 GMT-0100 (AZOT)

node v6.11
new Date(2019, 2, 31)
2019-03-31T01:00:00.000Z

latest version of chrome (62.0.3202.62)
new Date(2019, 2, 31)
Sun Mar 31 2019 01:00:00 GMT+0000 (AZOST)

result of
getTimeExtended()
https://github.com/iLib-js/iLib/blob/development/js/lib/RataDie.js#L282
node v0.10 - 1553994000000:Sun Mar 31 2019 01:00:00

var value = new GregorianDate({year:2019, month:3, day:31, timezone:'local'})
undefined
var date = DateFactory(value)
undefined
date.getTimeExtended()
1553994000000

node v6.11 - 1553990400000 : Sat Mar 30 2019 23:00:00

var value = new GregorianDate({year:2019, month:3, day:31, timezone:'local'})
undefined
var date = DateFactory(value)
undefined
date.getTimeExtended()
1553990400000

latest version of chrome (62.0.3202.62) - 1553990400000 :Sat Mar 30 2019 23:00:00

const myValue = new GregorianDate({year:2019, month:3, day:31, timezone:'local'})
const myDate = DateFactory(myValue)
console.log(myDate.getTimeExtended())
1553990400000

NumFmt Constructor error

iLib 14.4.0

I have installed iLib through npm and try to use NumFmt with the following example:

import NumFmt from "ilib/lib/NumFmt";
const fmt = new NumFmt({
	locale: "de-DE"
});
const str = fmt.format(1234567.89);

This fails with error:

Uncaught TypeError: Cannot read property 'negativenumFmt' of undefined at LocaleInfo.getNegativeNumberFormat (LocaleInfo.js?85d0:2)

I also tried to do the same with ilib-es6, but with no success.

no such file or directory, open ilib\locale\khq

Description

ERROR in Error: Child compilation failed:
ENOENT: no such file or directory, open 'D:\webOS\sample1\myApp\node_modules\ilib\locale\khq\ctr
Error: ENOENT: no such file or directory, open 'D:\webOS\sample1\myApp\node_modules\ilib\locale
ENOENT: no such file or directory, open 'D:\webOS\sample1\myApp\node_modules\ilib\locale\khq\ctr
Error: ENOENT: no such file or directory, open 'D:\webOS\sample1\myApp\node_modules\ilib\locale
ENOENT: no such file or directory, open 'D:\webOS\sample1\myApp\node_modules\ilib\locale\khq\dat
Error: ENOENT: no such file or directory, open 'D:\webOS\sample1\myApp\node_modules\ilib\locale
ENOENT: no such file or directory, open 'D:\webOS\sample1\myApp\node_modules\ilib\locale\khq\loc
Error: ENOENT: no such file or directory, open 'D:\webOS\sample1\myApp\node_modules\ilib\locale
ENOENT: no such file or directory, open 'D:\webOS\sample1\myApp\node_modules\ilib\locale\khq\sys
Error: ENOENT: no such file or directory, open 'D:\webOS\sample1\myApp\node_modules\ilib\locale
ENOENT: no such file or directory, open 'D:\webOS\sample1\myApp\node_modules\ilib\locale\khq\uni
Error: ENOENT: no such file or directory, open 'D:\webOS\sample1\myApp\node_modules\ilib\locale\

video player error Cannot read property 'supportedLocalesOf' of undefined

iLib build

after integrating the video player with enact.js I installed all necessary packages and imported all the modules but still, it is throwing this error called

Uncaught TypeError: Cannot read property 'supportedLocalesOf' of undefined
main.js:1493 The above error occurred in the component:

and these are the versions I am using
"dependencies": {
"@enact/core": "^4.7.6",
"@enact/i18n": "^4.7.6",
"@enact/moonstone": "^4.5.4",
"@enact/sandstone": "^2.7.10",
"@enact/spotlight": "^4.7.6",
"@enact/template-webostv": "^4.5.5",
"@enact/ui": "^4.7.6",
"@enact/webos": "^4.7.6",
"ilib": "^14.18.0",
"prop-types": "^15.8.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"web-vitals": "^3.4.0"
},

Environment

npm, chromium browser, lg webos device

Code:

import React, { useEffect } from 'react';
import BodyText from '@enact/moonstone/BodyText';
import Button from '@enact/moonstone/Button';
import MoonstoneDecorator from '@enact/moonstone/MoonstoneDecorator';
import Image from '@enact/sandstone/Image';
import Heading from '@enact/sandstone/Heading';
import deviceinfo from '@enact/webos/deviceinfo';
import { Video } from '@enact/sandstone/VideoPlayer';
import VideoPlayer from '@enact/sandstone/VideoPlayer';


const App = () => {
  useEffect(() => {
    deviceinfo((info) => {
      console.log(info);
    });
  }, []);
  return (
    <div style={{ height: '100vh' }}>
      <BodyText style={{ color: "#fff", padding: "20px" }}>
        test</BodyText>
       

      <VideoPlayer
        style={{
          width: '640px',
          height: '360px',
        }}
        title="Hilarious Cat Video"
        poster="https://wallpapercave.com/wp/wp4288169.jpg"
      >
        <Video>
          <source src="https://action-ott-live.s3.ap-south-1.amazonaws.com/MMM_Telugu/mmm_telugu_1080p.mp4" type="video/mp4" />
        </Video>
      </VideoPlayer>


    </div>
  );
};

const MyMoonstoneApp = MoonstoneDecorator(App);

export default MyMoonstoneApp;
export { App };

e2
e1

Problem when running iLIb on QT 5.6 Windows7

I'm trying to run iLib on Qt 5.6 in Windows7 with Cygwin. but It returns erros when I execute make.exe
It looks like I missed include path because lots of 'undefined referenced to....xxxx' are shown.
But I have no idea how to fix. Anybody to help?

iLib location : /cygdrive/d/2017/ilib-WindowTest/
Installed QT locaeion : /cygdrive/d/Qt_5.6/5.6/mingw49_32/bin

Here's steps to run as far as I know.

goun.lee@WMRRD11-NC100K8 /cygdrive/d/2017/ilib-WindowTest/qt/FileReader
/cygdrive/d/Qt_5.6/5.6/mingw49_32/bin/qmake.exe filereader.pro
make.exe

'
goun.lee@WMRRD11-NC100K8 /cygdrive/d/2017/ilib-WindowTest/qt/FileReader
$ make.exe
make -f Makefile.Release all
make[1]: Entering directory '/cygdrive/d/2017/ilib-WindowTest/qt/FileReader'
g++ -Wl,-s -shared -Wl,-subsystem,windows -mthreads -Wl,--out-implib,release/libFileReader.a -o release/FileReader.dll release/filereader_plugin.o release/filereader.o release/moc_filereader_plugin.o release/moc_filereader.o -LD:/Qt_5.6/5.6/mingw49_32/lib D:/Qt_5.6/5.6/mingw49_32/lib/libQt5Quick.a D:/Qt_5.6/5.6/mingw49_32/lib/libQt5Gui.a D:/Qt_5.6/5.6/mingw49_32/lib/libQt5Qml.a D:/Qt_5.6/5.6/mingw49_32/lib/libQt5Network.a D:/Qt_5.6/5.6/mingw49_32/lib/libQt5Core.a
release/filereader_plugin.o:filereader_plugin.cpp:(.text+0x5c): undefined reference to QMetaObject::className() const' release/filereader_plugin.o:filereader_plugin.cpp:(.text+0x5c): relocation truncated to fit: R_X86_64_PC32 against undefined symbol QMetaObject::className() const'
release/filereader_plugin.o:filereader_plugin.cpp:(.text+0x1ac): undefined reference to QByteArray::QByteArray(char const*, int)' release/filereader_plugin.o:filereader_plugin.cpp:(.text+0x1ac): relocation truncated to fit: R_X86_64_PC32 against undefined symbol QByteArray::QByteArray(char const*, int)'
release/filereader_plugin.o:filereader_plugin.cpp:(.text+0x1e6): undefined reference to QQmlPrivate::qmlregister(QQmlPrivate::RegistrationType, void*)' release/filereader_plugin.o:filereader_plugin.cpp:(.text+0x1e6): relocation truncated to fit: R_X86_64_PC32 against undefined symbol QQmlPrivate::qmlregister(QQmlPrivate::RegistrationType, void*)'
release/filereader_plugin.o:filereader_plugin.cpp:(.text+0x23c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader_plugin.o:filereader_plugin.cpp:(.text+0x23c): relocation truncated to fit: R_X86_64_PC32 against undefined symbol QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader_plugin.o:filereader_plugin.cpp:(.text+0x296): undefined reference to qBadAlloc()' release/filereader_plugin.o:filereader_plugin.cpp:(.text+0x296): relocation truncated to fit: R_X86_64_PC32 against undefined symbol qBadAlloc()'
release/filereader_plugin.o:filereader_plugin.cpp:(.text+0x2a1): undefined reference to qBadAlloc()' release/filereader_plugin.o:filereader_plugin.cpp:(.text+0x2a1): relocation truncated to fit: R_X86_64_PC32 against undefined symbol qBadAlloc()'
release/filereader_plugin.o:filereader_plugin.cpp:(.text$_ZN10QByteArrayD1Ev[_ZN10QByteArrayD1Ev]+0x2f): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader_plugin.o:filereader_plugin.cpp:(.text$_ZN10QByteArrayD1Ev[_ZN10QByteArrayD1Ev]+0x2f): relocation truncated to fit: R_X86_64_PC32 against undefined symbol QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader_plugin.o:filereader_plugin.cpp:(.text$_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE[_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE]+0x47): undefined reference to QMetaType::registerNormalizedType(QByteArray const&, void (*)(void*), void* (*)(void*, void const*), int, QFlags<QMetaType::TypeFlag>, QMetaObject const*)' release/filereader_plugin.o:filereader_plugin.cpp:(.text$_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE[_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE]+0x47): relocation truncated to fit: R_X86_64_PC32 against undefined symbol QMetaType::registerNormalizedType(QByteArray const&, void ()(void), void* ()(void, void const*), int, QFlagsQMetaType::TypeFlag, QMetaObject const*)'
release/filereader_plugin.o:filereader_plugin.cpp:(.text$_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE[_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE]+0x67): undefined reference to QMetaType::registerNormalizedTypedef(QByteArray const&, int)' release/filereader_plugin.o:filereader_plugin.cpp:(.text$_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE[_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE]+0x67): relocation truncated to fit: R_X86_64_PC32 against undefined symbol QMetaType::registerNormalizedTypedef(QByteArray const&, int)'
release/filereader_plugin.o:filereader_plugin.cpp:(.text$_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE[_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE]+0x7c): undefined reference to QMetaObject::className() const' release/filereader_plugin.o:filereader_plugin.cpp:(.text$_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE[_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE]+0x7c): relocation truncated to fit: R_X86_64_PC32 against undefined symbol QMetaObject::className() const'
release/filereader_plugin.o:filereader_plugin.cpp:(.text$_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE[_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE]+0xbe): undefined reference to QByteArray::reallocData(unsigned int, QFlags<QArrayData::AllocationOption>)' release/filereader_plugin.o:filereader_plugin.cpp:(.text$_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE[_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE]+0xbe): additional relocation overflows omitted from the output release/filereader_plugin.o:filereader_plugin.cpp:(.text$_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE[_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE]+0xc9): undefined reference to QByteArray::append(char const*)'
release/filereader_plugin.o:filereader_plugin.cpp:(.text$_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE[_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE]+0xd6): undefined reference to QByteArray::append(char)' release/filereader_plugin.o:filereader_plugin.cpp:(.text$_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE[_Z27qRegisterNormalizedMetaTypeIP10FileReaderEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE]+0x12c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader_plugin.o:filereader_plugin.cpp:(.rdata$.refptr._ZN10QArrayData11shared_nullE[.refptr._ZN10QArrayData11shared_nullE]+0x0): undefined reference to QArrayData::shared_null' release/filereader.o:filereader.cpp:(.text+0x2b): undefined reference to QFileInfo::~QFileInfo()'
release/filereader.o:filereader.cpp:(.text+0x84): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0xb9): undefined reference to QQuickItem::QQuickItem(QQuickItem*)'
release/filereader.o:filereader.cpp:(.text+0x131): undefined reference to QQuickItem::~QQuickItem()' release/filereader.o:filereader.cpp:(.text+0x169): undefined reference to QDir::currentPath()'
release/filereader.o:filereader.cpp:(.text+0x18f): undefined reference to QFileInfo::QFileInfo(QString const&)' release/filereader.o:filereader.cpp:(.text+0x197): undefined reference to QFileInfo::exists() const'
release/filereader.o:filereader.cpp:(.text+0x1a1): undefined reference to QFileInfo::~QFileInfo()' release/filereader.o:filereader.cpp:(.text+0x1b5): undefined reference to QFileInfo::~QFileInfo()'
release/filereader.o:filereader.cpp:(.text+0x1ea): undefined reference to QFileInfo::QFileInfo(QString const&)' release/filereader.o:filereader.cpp:(.text+0x1f2): undefined reference to QFileInfo::exists() const'
release/filereader.o:filereader.cpp:(.text+0x1fe): undefined reference to QFileInfo::isFile() const' release/filereader.o:filereader.cpp:(.text+0x20a): undefined reference to QFileInfo::isDir() const'
release/filereader.o:filereader.cpp:(.text+0x216): undefined reference to QFileInfo::isSymLink() const' release/filereader.o:filereader.cpp:(.text+0x22a): undefined reference to QString::fromAscii_helper(char const*, int)'
release/filereader.o:filereader.cpp:(.text+0x235): undefined reference to QFileInfo::~QFileInfo()' release/filereader.o:filereader.cpp:(.text+0x252): undefined reference to QString::fromAscii_helper(char const*, int)'
release/filereader.o:filereader.cpp:(.text+0x26d): undefined reference to QString::fromAscii_helper(char const*, int)' release/filereader.o:filereader.cpp:(.text+0x27f): undefined reference to QFileInfo::readLink() const'
release/filereader.o:filereader.cpp:(.text+0x2bc): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x2d4): undefined reference to QFileInfo::~QFileInfo()'
release/filereader.o:filereader.cpp:(.text+0x324): undefined reference to QFileInfo::QFileInfo(QString const&)' release/filereader.o:filereader.cpp:(.text+0x32c): undefined reference to QFileInfo::exists() const'
release/filereader.o:filereader.cpp:(.text+0x344): undefined reference to QFileInfo::fileName() const' release/filereader.o:filereader.cpp:(.text+0x357): undefined reference to QVariant::QVariant(QString const&)'
release/filereader.o:filereader.cpp:(.text+0x368): undefined reference to QString::fromAscii_helper(char const*, int)' release/filereader.o:filereader.cpp:(.text+0x388): undefined reference to QMapDataBase::createData()'
release/filereader.o:filereader.cpp:(.text+0x3ed): undefined reference to QMapDataBase::recalcMostLeftNode()' release/filereader.o:filereader.cpp:(.text+0x42d): undefined reference to operator<(QString const&, QString const&)'
release/filereader.o:filereader.cpp:(.text+0x452): undefined reference to operator<(QString const&, QString const&)' release/filereader.o:filereader.cpp:(.text+0x466): undefined reference to QVariant::operator=(QVariant const&)'
release/filereader.o:filereader.cpp:(.text+0x48f): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x4c5): undefined reference to QFileInfo::canonicalFilePath() const'
release/filereader.o:filereader.cpp:(.text+0x4f0): undefined reference to QVariant::QVariant(QString const&)' release/filereader.o:filereader.cpp:(.text+0x501): undefined reference to QString::fromAscii_helper(char const*, int)'
release/filereader.o:filereader.cpp:(.text+0x521): undefined reference to QMapDataBase::createData()' release/filereader.o:filereader.cpp:(.text+0x586): undefined reference to QMapDataBase::recalcMostLeftNode()'
release/filereader.o:filereader.cpp:(.text+0x5cd): undefined reference to operator<(QString const&, QString const&)' release/filereader.o:filereader.cpp:(.text+0x5f2): undefined reference to operator<(QString const&, QString const&)'
release/filereader.o:filereader.cpp:(.text+0x606): undefined reference to QVariant::operator=(QVariant const&)' release/filereader.o:filereader.cpp:(.text+0x62f): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x673): undefined reference to QFileInfo::size() const' release/filereader.o:filereader.cpp:(.text+0x686): undefined reference to QVariant::QVariant(long long)'
release/filereader.o:filereader.cpp:(.text+0x697): undefined reference to QString::fromAscii_helper(char const*, int)' release/filereader.o:filereader.cpp:(.text+0x6b7): undefined reference to QMapDataBase::createData()'
release/filereader.o:filereader.cpp:(.text+0x71c): undefined reference to QMapDataBase::recalcMostLeftNode()' release/filereader.o:filereader.cpp:(.text+0x75d): undefined reference to operator<(QString const&, QString const&)'
release/filereader.o:filereader.cpp:(.text+0x782): undefined reference to operator<(QString const&, QString const&)' release/filereader.o:filereader.cpp:(.text+0x796): undefined reference to QVariant::operator=(QVariant const&)'
release/filereader.o:filereader.cpp:(.text+0x7c7): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x7d2): undefined reference to QFileInfo::lastModified() const'
release/filereader.o:filereader.cpp:(.text+0x7e5): undefined reference to QVariant::QVariant(QDateTime const&)' release/filereader.o:filereader.cpp:(.text+0x7f6): undefined reference to QString::fromAscii_helper(char const*, int)'
release/filereader.o:filereader.cpp:(.text+0x80e): undefined reference to QMapDataBase::createData()' release/filereader.o:filereader.cpp:(.text+0x863): undefined reference to QMapDataBase::recalcMostLeftNode()'
release/filereader.o:filereader.cpp:(.text+0x89d): undefined reference to operator<(QString const&, QString const&)' release/filereader.o:filereader.cpp:(.text+0x8c2): undefined reference to operator<(QString const&, QString const&)'
release/filereader.o:filereader.cpp:(.text+0x8d6): undefined reference to QVariant::operator=(QVariant const&)' release/filereader.o:filereader.cpp:(.text+0x8ff): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x907): undefined reference to QDateTime::~QDateTime()' release/filereader.o:filereader.cpp:(.text+0x90f): undefined reference to QFileInfo::~QFileInfo()'
release/filereader.o:filereader.cpp:(.text+0x953): undefined reference to QMapDataBase::createNode(int, int, QMapNodeBase*, bool)' release/filereader.o:filereader.cpp:(.text+0x98e): undefined reference to QVariant::QVariant(QVariant const&)'
release/filereader.o:filereader.cpp:(.text+0x9b0): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x9db): undefined reference to QMapDataBase::createNode(int, int, QMapNodeBase*, bool)'
release/filereader.o:filereader.cpp:(.text+0xa16): undefined reference to QVariant::QVariant(QVariant const&)' release/filereader.o:filereader.cpp:(.text+0xa38): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0xa64): undefined reference to QMapDataBase::createNode(int, int, QMapNodeBase*, bool)' release/filereader.o:filereader.cpp:(.text+0xa9f): undefined reference to QVariant::QVariant(QVariant const&)'
release/filereader.o:filereader.cpp:(.text+0xac1): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0xaf3): undefined reference to QMapDataBase::createNode(int, int, QMapNodeBase*, bool)'
release/filereader.o:filereader.cpp:(.text+0xb2e): undefined reference to QVariant::QVariant(QVariant const&)' release/filereader.o:filereader.cpp:(.text+0xb50): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0xb6c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0xb8c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0xbac): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0xbf2): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0xbfb): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0xc2d): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0xc36): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0xc88): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0xc91): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0xcce): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0xd04): undefined reference to QMapDataBase::freeTree(QMapNodeBase*, int)' release/filereader.o:filereader.cpp:(.text+0xd14): undefined reference to QMapDataBase::freeData(QMapDataBase*)'
release/filereader.o:filereader.cpp:(.text+0xd53): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0xd5c): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0xd90): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0xd9a): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0xdee): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0xdf7): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0xe34): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0xe6a): undefined reference to QMapDataBase::freeTree(QMapNodeBase*, int)'
release/filereader.o:filereader.cpp:(.text+0xe7a): undefined reference to QMapDataBase::freeData(QMapDataBase*)' release/filereader.o:filereader.cpp:(.text+0xec2): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0xecb): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0xf02): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0xf15): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0xf71): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0xf7a): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0xfb7): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0xfe5): undefined reference to QMapDataBase::freeTree(QMapNodeBase*, int)' release/filereader.o:filereader.cpp:(.text+0xfed): undefined reference to QMapDataBase::freeData(QMapDataBase*)'
release/filereader.o:filereader.cpp:(.text+0x1032): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x103b): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x106d): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x1076): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x10c8): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x10d1): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x110e): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x1144): undefined reference to QMapDataBase::freeTree(QMapNodeBase*, int)'
release/filereader.o:filereader.cpp:(.text+0x1154): undefined reference to QMapDataBase::freeData(QMapDataBase*)' release/filereader.o:filereader.cpp:(.text+0x11a9): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0x11c2): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x11db): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0x11f4): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x120f): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x1229): undefined reference to QFileInfo::~QFileInfo()' release/filereader.o:filereader.cpp:(.text+0x1269): undefined reference to QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)'
release/filereader.o:filereader.cpp:(.text+0x129c): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x130a): undefined reference to QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)'
release/filereader.o:filereader.cpp:(.text+0x132a): undefined reference to QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)' release/filereader.o:filereader.cpp:(.text+0x134a): undefined reference to QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)'
release/filereader.o:filereader.cpp:(.text+0x136a): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x1372): undefined reference to QDateTime::~QDateTime()'
release/filereader.o:filereader.cpp:(.text+0x13b5): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x147d): undefined reference to QDir::QDir(QString const&)'
release/filereader.o:filereader.cpp:(.text+0x14b0): undefined reference to QDir::entryInfoList(QFlags<QDir::Filter>, QFlags<QDir::SortFlag>) const' release/filereader.o:filereader.cpp:(.text+0x1579): undefined reference to QFileInfo::fileName() const'
release/filereader.o:filereader.cpp:(.text+0x1589): undefined reference to QVariant::QVariant(QString const&)' release/filereader.o:filereader.cpp:(.text+0x159a): undefined reference to QString::fromAscii_helper(char const*, int)'
release/filereader.o:filereader.cpp:(.text+0x15e3): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x1614): undefined reference to QFileInfo::canonicalFilePath() const'
release/filereader.o:filereader.cpp:(.text+0x163f): undefined reference to QVariant::QVariant(QString const&)' release/filereader.o:filereader.cpp:(.text+0x1650): undefined reference to QString::fromAscii_helper(char const*, int)'
release/filereader.o:filereader.cpp:(.text+0x168f): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x16d9): undefined reference to QFileInfo::size() const'
release/filereader.o:filereader.cpp:(.text+0x16ec): undefined reference to QVariant::QVariant(long long)' release/filereader.o:filereader.cpp:(.text+0x16fd): undefined reference to QString::fromAscii_helper(char const*, int)'
release/filereader.o:filereader.cpp:(.text+0x1719): undefined reference to QMapDataBase::createData()' release/filereader.o:filereader.cpp:(.text+0x177a): undefined reference to QMapDataBase::recalcMostLeftNode()'
release/filereader.o:filereader.cpp:(.text+0x17bd): undefined reference to operator<(QString const&, QString const&)' release/filereader.o:filereader.cpp:(.text+0x17e2): undefined reference to operator<(QString const&, QString const&)'
release/filereader.o:filereader.cpp:(.text+0x17f6): undefined reference to QVariant::operator=(QVariant const&)' release/filereader.o:filereader.cpp:(.text+0x1827): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x1832): undefined reference to QFileInfo::lastModified() const' release/filereader.o:filereader.cpp:(.text+0x1845): undefined reference to QVariant::QVariant(QDateTime const&)'
release/filereader.o:filereader.cpp:(.text+0x1856): undefined reference to QString::fromAscii_helper(char const*, int)' release/filereader.o:filereader.cpp:(.text+0x1895): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x189d): undefined reference to QDateTime::~QDateTime()' release/filereader.o:filereader.cpp:(.text+0x18a8): undefined reference to QVariant::QVariant(QMap<QString, QVariant> const&)'
release/filereader.o:filereader.cpp:(.text+0x18c0): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x191f): undefined reference to QMapDataBase::createNode(int, int, QMapNodeBase*, bool)'
release/filereader.o:filereader.cpp:(.text+0x195a): undefined reference to QVariant::QVariant(QVariant const&)' release/filereader.o:filereader.cpp:(.text+0x197c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0x19bf): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x19f4): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x1a28): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x1a5b): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x1a76): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x1aad): more undefined references to QVariant::~QVariant()' follow
release/filereader.o:filereader.cpp:(.text+0x20fa): undefined reference to QMapDataBase::freeTree(QMapNodeBase*, int)' release/filereader.o:filereader.cpp:(.text+0x2102): undefined reference to QMapDataBase::freeData(QMapDataBase*)'
release/filereader.o:filereader.cpp:(.text+0x211f): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x213c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0x215c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x217c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0x219c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x21bc): more undefined references to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' follow
release/filereader.o:filereader.cpp:(.text+0x220e): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x2241): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x227e): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x22b1): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x22da): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x2308): more undefined references to QVariant::~QVariant()' follow
release/filereader.o:filereader.cpp:(.text+0x387a): undefined reference to QMapDataBase::freeTree(QMapNodeBase*, int)' release/filereader.o:filereader.cpp:(.text+0x3882): undefined reference to QMapDataBase::freeData(QMapDataBase*)'
release/filereader.o:filereader.cpp:(.text+0x389c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x38b5): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0x38de): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x38fc): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text+0x3915): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text+0x392f): more undefined references to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' follow
release/filereader.o:filereader.cpp:(.text+0x3cbe): undefined reference to QDir::~QDir()' release/filereader.o:filereader.cpp:(.text+0x3cf7): undefined reference to QDir::~QDir()'
release/filereader.o:filereader.cpp:(.text+0x3d47): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x3d82): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x3d9f): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x3dcc): undefined reference to QDateTime::~QDateTime()'
release/filereader.o:filereader.cpp:(.text+0x3ddc): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text+0x3df9): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text+0x3e31): undefined reference to QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)' release/filereader.o:filereader.cpp:(.text+0x3e66): undefined reference to QFile::QFile(QString const&)'
release/filereader.o:filereader.cpp:(.text+0x3e73): undefined reference to QFile::open(QFlags<QIODevice::OpenModeFlag>)' release/filereader.o:filereader.cpp:(.text+0x3e85): undefined reference to QString::fromAscii_helper(char const*, int)'
release/filereader.o:filereader.cpp:(.text+0x3e90): undefined reference to QFile::~QFile()' release/filereader.o:filereader.cpp:(.text+0x3eac): undefined reference to QTextStream::QTextStream(QIODevice*)'
release/filereader.o:filereader.cpp:(.text+0x3eb7): undefined reference to QTextStream::readAll()' release/filereader.o:filereader.cpp:(.text+0x3ebf): undefined reference to QTextStream::~QTextStream()'
release/filereader.o:filereader.cpp:(.text+0x3ecc): undefined reference to QFile::~QFile()' release/filereader.o:filereader.cpp:(.text+0x3edf): undefined reference to QTextStream::~QTextStream()'
release/filereader.o:filereader.cpp:(.text+0x3f): undefined reference to QListData::dispose(QListData::Data*)' release/filereader.o:filereader.cpp:(.text+0xa1): undefined reference to QListData::dispose(QListData::Data*)'
release/filereader.o:filereader.cpp:(.text+0xf9): undefined reference to QQuickItem::~QQuickItem()' release/filereader.o:filereader.cpp:(.text$_ZN7QStringD1Ev[_ZN7QStringD1Ev]+0x2f): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN5QListI8QVariantE18detach_helper_growEii[_ZN5QListI8QVariantE18detach_helper_growEii]+0x3d): undefined reference to QListData::detach_grow(int*, int)' release/filereader.o:filereader.cpp:(.text$_ZN5QListI8QVariantE18detach_helper_growEii[_ZN5QListI8QVariantE18detach_helper_growEii]+0x94): undefined reference to QVariant::QVariant(QVariant const&)'
release/filereader.o:filereader.cpp:(.text$_ZN5QListI8QVariantE18detach_helper_growEii[_ZN5QListI8QVariantE18detach_helper_growEii]+0x104): undefined reference to QVariant::QVariant(QVariant const&)' release/filereader.o:filereader.cpp:(.text$_ZN5QListI8QVariantE18detach_helper_growEii[_ZN5QListI8QVariantE18detach_helper_growEii]+0x186): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN5QListI8QVariantE18detach_helper_growEii[_ZN5QListI8QVariantE18detach_helper_growEii]+0x1dd): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN5QListI8QVariantE18detach_helper_growEii[_ZN5QListI8QVariantE18detach_helper_growEii]+0x1f3): undefined reference to QListData::dispose(QListData::Data*)'
release/filereader.o:filereader.cpp:(.text$_ZN5QListI8QVariantE18detach_helper_growEii[_ZN5QListI8QVariantE18detach_helper_growEii]+0x238): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN5QListI8QVariantE18detach_helper_growEii[_ZN5QListI8QVariantE18detach_helper_growEii]+0x266): undefined reference to QListData::dispose(QListData::Data*)'
release/filereader.o:filereader.cpp:(.text$ZN5QListI8QVariantE6appendERKS0[ZN5QListI8QVariantE6appendERKS0]+0x3f): undefined reference to QVariant::QVariant(QVariant const&)' release/filereader.o:filereader.cpp:(.text$_ZN5QListI8QVariantE6appendERKS0_[_ZN5QListI8QVariantE6appendERKS0_]+0x51): undefined reference to QListData::append()'
release/filereader.o:filereader.cpp:(.text$ZN5QListI8QVariantE6appendERKS0[ZN5QListI8QVariantE6appendERKS0]+0x6c): undefined reference to QVariant::QVariant(QVariant const&)' release/filereader.o:filereader.cpp:(.text$_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv[_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv]+0x2f): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv[_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv]+0x62): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv[_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv]+0x95): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv[_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv]+0xc8): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv[_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv]+0xf9): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv[_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv]+0x146): more undefined references to QVariant::~QVariant()' follow release/filereader.o:filereader.cpp:(.text$_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv[_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv]+0x7cc): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv[_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv]+0x7ec): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv[_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv]+0x80c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv[_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv]+0x82c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv[_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv]+0x84c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv[_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv]+0x86c): more undefined references to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' follow release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x5f): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x92): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0xc5): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0xfd): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x107): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x137): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x185): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x1dc): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x1e5): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x216): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x26c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x275): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x2c4): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x2fc): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x305): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x336): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x38c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x395): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x3ec): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x3f5): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x42c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x435): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x48c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x495): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x4e4): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x517): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x54d): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x556): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x587): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x5dc): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x5e5): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x63c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x645): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x67c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x685): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x6dc): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x6e5): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x734): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x76c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x775): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x7ac): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x7b5): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x80c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x815): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x864): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x89c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x8a5): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x8e1): undefined reference to QMapDataBase::freeTree(QMapNodeBase*, int)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x90c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x92c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x94c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x96c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x98c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x9ac): more undefined references to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' follow release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantED1Ev[_ZN4QMapI7QString8QVariantED1Ev]+0x8f5): undefined reference to QMapDataBase::freeData(QMapDataBase*)'
release/filereader.o:filereader.cpp:(.text$_ZNK8QMapNodeI7QString8QVariantE4copyEP8QMapDataIS0_S1_E[_ZNK8QMapNodeI7QString8QVariantE4copyEP8QMapDataIS0_S1_E]+0x2e): undefined reference to QMapDataBase::createNode(int, int, QMapNodeBase*, bool)' release/filereader.o:filereader.cpp:(.text$_ZNK8QMapNodeI7QString8QVariantE4copyEP8QMapDataIS0_S1_E[_ZNK8QMapNodeI7QString8QVariantE4copyEP8QMapDataIS0_S1_E]+0x61): undefined reference to QVariant::QVariant(QVariant const&)'
release/filereader.o:filereader.cpp:(.text$_ZNK8QMapNodeI7QString8QVariantE4copyEP8QMapDataIS0_S1_E[_ZNK8QMapNodeI7QString8QVariantE4copyEP8QMapDataIS0_S1_E]+0x125): undefined reference to QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_[_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_]+0x22): undefined reference to QMapDataBase::createData()'
release/filereader.o:filereader.cpp:(.text$ZN4QMapI7QString8QVariantE6insertERKS0_RKS1[ZN4QMapI7QString8QVariantE6insertERKS0_RKS1]+0x77): undefined reference to QMapDataBase::recalcMostLeftNode()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_[_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_]+0xb0): undefined reference to operator<(QString const&, QString const&)'
release/filereader.o:filereader.cpp:(.text$ZN4QMapI7QString8QVariantE6insertERKS0_RKS1[ZN4QMapI7QString8QVariantE6insertERKS0_RKS1]+0xd1): undefined reference to operator<(QString const&, QString const&)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_[_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_]+0xf4): undefined reference to QMapDataBase::createNode(int, int, QMapNodeBase*, bool)'
release/filereader.o:filereader.cpp:(.text$ZN4QMapI7QString8QVariantE6insertERKS0_RKS1[ZN4QMapI7QString8QVariantE6insertERKS0_RKS1]+0x126): undefined reference to QVariant::QVariant(QVariant const&)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_[_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_]+0x148): undefined reference to QVariant::operator=(QVariant const&)'
release/filereader.o:filereader.cpp:(.text$ZN4QMapI7QString8QVariantE6insertERKS0_RKS1[ZN4QMapI7QString8QVariantE6insertERKS0_RKS1]+0x181): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_[_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_]+0x1b0): undefined reference to QVariant::~QVariant()'
release/filereader.o:filereader.cpp:(.text$ZN4QMapI7QString8QVariantE6insertERKS0_RKS1[ZN4QMapI7QString8QVariantE6insertERKS0_RKS1]+0x1ff): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_[_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_]+0x23f): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$ZN4QMapI7QString8QVariantE6insertERKS0_RKS1[ZN4QMapI7QString8QVariantE6insertERKS0_RKS1]+0x248): undefined reference to QVariant::~QVariant()' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_[_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_]+0x276): undefined reference to QMapDataBase::freeTree(QMapNodeBase*, int)'
release/filereader.o:filereader.cpp:(.text$ZN4QMapI7QString8QVariantE6insertERKS0_RKS1[ZN4QMapI7QString8QVariantE6insertERKS0_RKS1]+0x27e): undefined reference to QMapDataBase::freeData(QMapDataBase*)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_[_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_]+0x2a6): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$ZN4QMapI7QString8QVariantE6insertERKS0_RKS1[ZN4QMapI7QString8QVariantE6insertERKS0_RKS1]+0x2bf): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/filereader.o:filereader.cpp:(.text$_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_[_ZN4QMapI7QString8QVariantE6insertERKS0_RKS1_]+0x2d8): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/filereader.o:filereader.cpp:(.text$ZN4QMapI7QString8QVariantE6insertERKS0_RKS1[ZN4QMapI7QString8QVariantE6insertERKS0_RKS1]+0x30d): undefined reference to QMapDataBase::freeNodeAndRebalance(QMapNodeBase*)' release/filereader.o:filereader.cpp:(.text$_ZN5QListI9QFileInfoE13detach_helperEi[_ZN5QListI9QFileInfoE13detach_helperEi]+0x1f): undefined reference to QListData::detach(int)'
release/filereader.o:filereader.cpp:(.text$_ZN5QListI9QFileInfoE13detach_helperEi[_ZN5QListI9QFileInfoE13detach_helperEi]+0x5c): undefined reference to QFileInfo::QFileInfo(QFileInfo const&)' release/filereader.o:filereader.cpp:(.text$_ZN5QListI9QFileInfoE13detach_helperEi[_ZN5QListI9QFileInfoE13detach_helperEi]+0xbd): undefined reference to QFileInfo::~QFileInfo()'
release/filereader.o:filereader.cpp:(.text$_ZN5QListI9QFileInfoE13detach_helperEi[_ZN5QListI9QFileInfoE13detach_helperEi]+0xe4): undefined reference to QListData::dispose(QListData::Data*)' release/filereader.o:filereader.cpp:(.rdata$.refptr._ZN9QListData11shared_nullE[.refptr._ZN9QListData11shared_nullE]+0x0): undefined reference to QListData::shared_null'
release/filereader.o:filereader.cpp:(.rdata$.refptr._ZN12QMapDataBase11shared_nullE[.refptr._ZN12QMapDataBase11shared_nullE]+0x0): undefined reference to QMapDataBase::shared_null' release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.text+0xa5): undefined reference to QQmlExtensionPlugin::QQmlExtensionPlugin(QObject*)'
release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.text+0xc2): undefined reference to QtSharedPointer::ExternalRefCountData::getAndRef(QObject const*)' release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.text+0x1c): undefined reference to QObjectData::dynamicMetaObject() const'
release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.text+0x20d): undefined reference to QQmlExtensionPlugin::qt_metacast(char const*)' release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.text+0x221): undefined reference to QQmlExtensionPlugin::qt_metacall(QMetaObject::Call, int, void**)'
release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.text$_ZN16FileReaderPluginD1Ev[_ZN16FileReaderPluginD1Ev]+0x16): undefined reference to QQmlExtensionPlugin::~QQmlExtensionPlugin()' release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.text$_ZN16FileReaderPluginD0Ev[_ZN16FileReaderPluginD0Ev]+0x1e): undefined reference to QQmlExtensionPlugin::~QQmlExtensionPlugin()'
release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.rdata$_ZTV16FileReaderPlugin[_ZTV16FileReaderPlugin]+0x38): undefined reference to QObject::event(QEvent*)' release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.rdata$_ZTV16FileReaderPlugin[_ZTV16FileReaderPlugin]+0x40): undefined reference to QObject::eventFilter(QObject*, QEvent*)'
release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.rdata$_ZTV16FileReaderPlugin[_ZTV16FileReaderPlugin]+0x48): undefined reference to QObject::timerEvent(QTimerEvent*)' release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.rdata$_ZTV16FileReaderPlugin[_ZTV16FileReaderPlugin]+0x50): undefined reference to QObject::childEvent(QChildEvent*)'
release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.rdata$_ZTV16FileReaderPlugin[_ZTV16FileReaderPlugin]+0x58): undefined reference to QObject::customEvent(QEvent*)' release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.rdata$_ZTV16FileReaderPlugin[_ZTV16FileReaderPlugin]+0x60): undefined reference to QObject::connectNotify(QMetaMethod const&)'
release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.rdata$_ZTV16FileReaderPlugin[_ZTV16FileReaderPlugin]+0x68): undefined reference to QObject::disconnectNotify(QMetaMethod const&)' release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.rdata$_ZTV16FileReaderPlugin[_ZTV16FileReaderPlugin]+0x78): undefined reference to QQmlExtensionPlugin::initializeEngine(QQmlEngine*, char const*)'
release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.rdata$_ZTV16FileReaderPlugin[_ZTV16FileReaderPlugin]+0xa8): undefined reference to non-virtual thunk to QQmlExtensionPlugin::initializeEngine(QQmlEngine*, char const*)' release/moc_filereader_plugin.o:moc_filereader_plugin.cpp:(.rdata+0xc0): undefined reference to QQmlExtensionPlugin::staticMetaObject'
release/moc_filereader.o:moc_filereader.cpp:(.text+0xac): undefined reference to QString::operator=(QString const&)' release/moc_filereader.o:moc_filereader.cpp:(.text+0x13c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/moc_filereader.o:moc_filereader.cpp:(.text+0x19e): undefined reference to QString::operator=(QString const&)' release/moc_filereader.o:moc_filereader.cpp:(.text+0x1d1): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/moc_filereader.o:moc_filereader.cpp:(.text+0x270): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/moc_filereader.o:moc_filereader.cpp:(.text+0x2ec): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)'
release/moc_filereader.o:moc_filereader.cpp:(.text+0x35c): undefined reference to QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)' release/moc_filereader.o:moc_filereader.cpp:(.text+0x366): undefined reference to QMapDataBase::createData()'
release/moc_filereader.o:moc_filereader.cpp:(.text+0x3a6): undefined reference to QMapDataBase::recalcMostLeftNode()' release/moc_filereader.o:moc_filereader.cpp:(.text+0x460): undefined reference to QQuickItem::qt_metacall(QMetaObject::Call, int, void**)'
release/moc_filereader.o:moc_filereader.cpp:(.text+0xc): undefined reference to QObjectData::dynamicMetaObject() const' release/moc_filereader.o:moc_filereader.cpp:(.text+0x43d): undefined reference to QQuickItem::qt_metacast(char const*)'
release/moc_filereader.o:moc_filereader.cpp:(.text$ZN5QListI8QVariantEC1ERKS1[ZN5QListI8QVariantEC1ERKS1]+0x38): undefined reference to QListData::detach(int)' release/moc_filereader.o:moc_filereader.cpp:(.text$_ZN5QListI8QVariantEC1ERKS1_[_ZN5QListI8QVariantEC1ERKS1_]+0x84): undefined reference to QVariant::QVariant(QVariant const&)'
release/moc_filereader.o:moc_filereader.cpp:(.text$ZN5QListI8QVariantEC1ERKS1[ZN5QListI8QVariantEC1ERKS1]+0xbf): undefined reference to QVariant::~QVariant()' release/moc_filereader.o:moc_filereader.cpp:(.text$_ZN5QListI8QVariantEC1ERKS1_[_ZN5QListI8QVariantEC1ERKS1_]+0xfb): undefined reference to QListData::dispose(QListData::Data*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata+0x20): undefined reference to QQuickItem::staticMetaObject' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x38): undefined reference to QQuickItem::event(QEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x40): undefined reference to QObject::eventFilter(QObject*, QEvent*)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x48): undefined reference to QObject::timerEvent(QTimerEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x50): undefined reference to QObject::childEvent(QChildEvent*)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x58): undefined reference to QObject::customEvent(QEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x60): undefined reference to QObject::connectNotify(QMetaMethod const&)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x68): undefined reference to QObject::disconnectNotify(QMetaMethod const&)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x70): undefined reference to QQuickItem::boundingRect() const' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x78): undefined reference to QQuickItem::clipRect() const'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x80): undefined reference to QQuickItem::contains(QPointF const&) const' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x88): undefined reference to QQuickItem::inputMethodQuery(Qt::InputMethodQuery) const'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x90): undefined reference to QQuickItem::isTextureProvider() const' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x98): undefined reference to QQuickItem::textureProvider() const'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0xa0): undefined reference to QQuickItem::itemChange(QQuickItem::ItemChange, QQuickItem::ItemChangeData const&)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0xa8): undefined reference to QQuickItem::classBegin()'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0xb0): undefined reference to QQuickItem::componentComplete()' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0xb8): undefined reference to QQuickItem::keyPressEvent(QKeyEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0xc0): undefined reference to QQuickItem::keyReleaseEvent(QKeyEvent*)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0xc8): undefined reference to QQuickItem::inputMethodEvent(QInputMethodEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0xd0): undefined reference to QQuickItem::focusInEvent(QFocusEvent*)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0xd8): undefined reference to QQuickItem::focusOutEvent(QFocusEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0xe0): undefined reference to QQuickItem::mousePressEvent(QMouseEvent*)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0xe8): undefined reference to QQuickItem::mouseMoveEvent(QMouseEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0xf0): undefined reference to QQuickItem::mouseReleaseEvent(QMouseEvent*)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0xf8): undefined reference to QQuickItem::mouseDoubleClickEvent(QMouseEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x100): undefined reference to QQuickItem::mouseUngrabEvent()' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x108): undefined reference to QQuickItem::touchUngrabEvent()'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x110): undefined reference to QQuickItem::wheelEvent(QWheelEvent*)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x118): undefined reference to QQuickItem::touchEvent(QTouchEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x120): undefined reference to QQuickItem::hoverEnterEvent(QHoverEvent*)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x128): undefined reference to QQuickItem::hoverMoveEvent(QHoverEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x130): undefined reference to QQuickItem::hoverLeaveEvent(QHoverEvent*)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x138): undefined reference to QQuickItem::dragEnterEvent(QDragEnterEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x140): undefined reference to QQuickItem::dragMoveEvent(QDragMoveEvent*)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x148): undefined reference to QQuickItem::dragLeaveEvent(QDragLeaveEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x150): undefined reference to QQuickItem::dropEvent(QDropEvent*)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x158): undefined reference to QQuickItem::childMouseEventFilter(QQuickItem*, QEvent*)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x160): undefined reference to QQuickItem::windowDeactivateEvent()' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x168): undefined reference to QQuickItem::geometryChanged(QRectF const&, QRectF const&)'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x170): undefined reference to QQuickItem::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*)' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x178): undefined reference to QQuickItem::releaseResources()'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x180): undefined reference to QQuickItem::updatePolish()' release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x1a8): undefined reference to non-virtual thunk to QQuickItem::classBegin()'
release/moc_filereader.o:moc_filereader.cpp:(.rdata$_ZTV10FileReader[_ZTV10FileReader]+0x1b0): undefined reference to `non-virtual thunk to QQuickItem::componentComplete()'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile.Release:68: release/FileReader.dll] Error 1
make[1]: Leaving directory '/cygdrive/d/2017/ilib-WindowTest/qt/FileReader'
make: *** [Makefile:38: release-all] Error 2
'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.