Giter VIP home page Giter VIP logo

node-qt's Introduction

Node-Qt

Node-Qt provides native bindings to the Qt library as a Node.js addon. The focus is on graphics and audio bindings; there is no need to duplicate the functionality of the Node API and its modules.

We try to follow Qt's API as closely as possible, but sometimes quirks are inevitable (for example, virtual methods that handle events are translated into callback setters). See the header files in src/ for a list of available bindings, and comments in .cc files for possible API differences.

For a translation of Qt's APIs into HTML5 APIs, see Node-Five.

Supported platforms: Mac OS X | Windows | Linux

Hello world

Ever wanted to create native apps directly from Node? Here's a simple example illustrating how to create a native window via QWidget() and draw via QPainter():

Screenshot

var qt = require('node-qt'),
    app = new qt.QApplication,
    window = new qt.QWidget;

// Prevent objects from being GC'd
global.app = app;
global.window = window;

// Quirk: the virtual method paintEvent() is mapped into a callback setter
window.paintEvent(function() {
  var p = new qt.QPainter();
  p.begin(window);
  p.drawText(20, 30, 'hello node, hello qt');
  p.end();
});

window.resize(300, 150);
window.show();

// Join Node's event loop
setInterval(app.processEvents, 0);

Getting started

From your project directory, run (see below for requirements):

$ npm install node-qt

Alternatively, to use the latest development version from Github:

$ npm install git://github.com/arturadib/node-qt.git

This will download and build Node-Qt in node_modules/. Then create a new file, say helloworld.js, copy the example above and run Node as usual:

$ node helloworld

See the examples/ directory for other simple use cases.

Build requirements

Node-Qt was designed to build seamlessly with minimal dependencies on most platforms. The necessary platform-dependent Qt binaries are bundled with the module (due to heterogeneous dependencies, Linux is an exception).

For all platforms: Node >= 0.6.14

  • Mac: Python, Make, and GCC.
  • Windows: Python and MSVC++ (either free or commercial).
  • Linux: Python, Make, GCC, pkg-config, and Qt 4.7+. To install pkg-config and Qt on Ubuntu: $ sudo apt-get install pkg-config qt-sdk.

Contributing

Building and testing

To download and build the development version:

$ git clone git://github.com/arturadib/node-qt.git
$ cd node-qt
$ npm install

To run the unit tests:

$ node make test

(Ignore the image regression errors - they are based on snapshots that are platform- and backend-dependent).

Creating new bindings

Please provide a test case for every new binding added. See test/ for examples of unit tests.

Binding to new classes

  1. Create your files (e.g. qclass.h, qclass.cc) from the provided templates src/template.h, src/template.cc
  2. qclass.*: search and replace all occurrences of __Template__, __TEMPLATE__, and __template__ with the corresponding class name
  3. node-qt.gyp: Add qclass.cc to sources list
  4. qt.cc: Include qclass.h
  5. qt.cc: Add QClass::Initialize() to Initialize()

Binding to new methods

  1. qclass.h: Declare static method as per Example() method in template.h
  2. qclass.cc: Implement method as per Example() in template.cc
  3. qclass.cc: Expose method to JavaScript via tpl->PrototypeTemplate() call in Initialize(). Again see template.cc.

Common errors

This is a list of common errors when experimenting with Node addons, and their possible solutions:

"Out of memory"

name in NODE_MODULE(name, ...) does not match target name?

"Unable to load shared library"

(v8 object)->Set() called to register a method, but method implementation is missing?

"Segmentation fault"

Tough luck :) Did you forget to new a wrapped object?

node-qt's People

Contributors

arturadib avatar blakmatrix avatar tricknotes 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  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  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  avatar

Watchers

 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

node-qt's Issues

Can't install some C++ errors.

Hi,

I use qt and c++ for long time and I begin with node personnaly I use io.js ( fork of node ), so I try to use your project but I can't install them.

I am on arch linux with 3.18.x kernel ( latest )
io.js : 1.3.0 ( latest )
and g++ : 4.9.2 ( latest too ^^ )

I push the log after this message I hope it help you. if you get more information about my system,
enviroment send me a mail at this address [email protected]

https://mega.co.nz/#!rd9zCJzZ!Vgjp3UiSRvj4JIxpzzLn2ti6Mj7tlJ9uFbnBKAJUuBY (this a link to log)

thanks you

( sorry for mistakes I am french ^^ )

Build script fails on Ubuntu 12.04

I've been wanting to try this out for a while, and I got to it today. I used the example code in the README, ran a quick npm install node-qt and I get an error saying that the build script fails, among other things. Any ideas why this is? Thanks in advance.

-
> [email protected] install /home/karysto/Desktop/qtNodeExample/node_modules/node-qt
> node-gyp rebuild

child_process: customFds option is deprecated, use stdio instead.
Package QtCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `QtCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'QtCore' found
Package QtGui was not found in the pkg-config search path.
Perhaps you should add the directory containing `QtGui.pc'
to the PKG_CONFIG_PATH environment variable
No package 'QtGui' found
Package QtTest was not found in the pkg-config search path.
Perhaps you should add the directory containing `QtTest.pc'
to the PKG_CONFIG_PATH environment variable
No package 'QtTest' found
gyp: Call to 'pkg-config --libs-only-l QtCore QtGui QtTest' returned exit status 1. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:343:16)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1067:12)
gyp ERR! System Linux 3.2.0-77-generic-pae
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/karysto/Desktop/qtNodeExample/node_modules/node-qt
gyp ERR! node -v v0.12.0
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok 
npm ERR! Linux 3.2.0-77-generic-pae
npm ERR! argv "node" "/usr/local/bin/npm" "install" "node-qt"
npm ERR! node v0.12.0
npm ERR! npm  v2.6.0
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the node-qt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-qt
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/karysto/Desktop/qtNodeExample/npm-debug.log

can't install

i have win7 64bit

C:\Users\cotne\Desktop\node-qt>npm install node-qt
npm http GET https://registry.npmjs.org/node-qt
npm http 304 https://registry.npmjs.org/node-qt
npm http GET https://registry.npmjs.org/shelljs/0.0.5-pre4
npm http 304 https://registry.npmjs.org/shelljs/0.0.5-pre4

> [email protected] install C:\Users\cotne\Desktop\node-qt\node_modules\node-qt
> node-gyp rebuild


C:\Users\cotne\Desktop\node-qt\node_modules\node-qt>node "C:\Program Files\nodej
s\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js
" rebuild
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.InvalidPlatform
.Targets(23,7): error MSB8007: The Platform for project 'qt.vcxproj' is invalid
.  Platform='x64'. You may be seeing this message because you are trying to bui
ld a project without a solution file, and have specified a non-default Platform
 that doesn't exist for this project. [C:\Users\cotne\Desktop\node-qt\node_modu
les\node-qt\build\qt.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\
npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:789:
12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modu
les\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\cotne\Desktop\node-qt\node_modules\node-qt
gyp ERR! node -v v0.10.24
gyp ERR! node-gyp -v v0.12.1
gyp ERR! not ok
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the node-qt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-qt
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "node-qt"
npm ERR! cwd C:\Users\cotne\Desktop\node-qt
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Users\cotne\Desktop\node-qt\npm-debug.log
npm ERR! not ok code 0

here is npm-debug.log

npm fails to install on windows xp

I don't have another computer to test this on, but when I "npm install node-qt" I get:

C:\Documents and Settings\dylan\My Documents\Dropbox\Code\QT-Ex>npm install node-qt
npm http GET https://registry.npmjs.org/node-qt
npm http 304 https://registry.npmjs.org/node-qt
npm http GET https://registry.npmjs.org/node-qt/-/node-qt-0.0.2.tgz
npm http 200 https://registry.npmjs.org/node-qt/-/node-qt-0.0.2.tgz
npm http GET https://registry.npmjs.org/shelljs/0.0.5pre4
npm http 200 https://registry.npmjs.org/shelljs/0.0.5pre4
npm http GET https://registry.npmjs.org/shelljs/-/shelljs-0.0.5pre4.tgz
npm http 200 https://registry.npmjs.org/shelljs/-/shelljs-0.0.5pre4.tgz

> [email protected] install C:\Documents and Settings\dylan\My Documents\Dropbox\Code\QT-Ex\node_modules\node-qt
> node-gyp rebuild


C:\Documents and Settings\dylan\My Documents\Dropbox\Code\QT-Ex\node_modules\node-qt>node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\n
ode-gyp\bin\node-gyp.js" rebuild
info it worked if it ends with ok
info downloading: http://nodejs.org/dist/v0.6.15/node-v0.6.15.tar.gz
info downloading: http://nodejs.org/dist/v0.6.15/node.lib
spawn C:\Python27\python.exe [ 'C:\\Documents and Settings\\dylan\\.node-gyp\\0.6.15\\tools\\gyp_addon',
  'binding.gyp',
  '-IC:\\Documents and Settings\\dylan\\My Documents\\Dropbox\\Code\\QT-Ex\\node_modules\\node-qt\\build\\config.gypi',
  '-f',
  'msvs',
  '-G',
  'msvs_version=2010' ]
spawn msbuild [ 'build/binding.sln',
  '/clp:Verbosity=minimal',
  '/nologo',
  '/p:Configuration=Release;Platform=Win32' ]
build/binding.sln(1): Solution file error MSB5014: File format version is not recognized.  MSBuild can only read solution files between versions 7.0 and 9.0, inclusive.
ERR! Error: `msbuild` failed with exit code: 1
    at Array.0 (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:176:25)
    at EventEmitter._tickCallback (node.js:192:40)
ERR! not ok
npm ERR! error rolling back [email protected] Error: ENOTEMPTY, rmdir 'C:\Documents and Settings\dylan\My Documents\Dropbox\Code\QT-Ex\node_modules\node-qt\deps\qt-4.8.0\win3
2\ia32\include\QtCore'

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! `cmd "/c" "node-gyp rebuild"` failed with 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the node-qt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-qt
npm ERR! There is likely additional logging output above.
npm ERR!
npm ERR! System Windows_NT 5.1.2600
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "node-qt"
npm ERR! cwd C:\Documents and Settings\dylan\My Documents\Dropbox\Code\QT-Ex
npm ERR! node -v v0.6.15
npm ERR! npm -v 1.1.16
npm ERR! code ELIFECYCLE
npm ERR! message [email protected] install: `node-gyp rebuild`
npm ERR! message `cmd "/c" "node-gyp rebuild"` failed with 1
npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Documents and Settings\dylan\My Documents\Dropbox\Code\QT-Ex\npm-debug.log
npm not ok

Cannot install on Win10 64bit

When trying to install nodq-qt i get

C:\WINDOWS\system32>npm install node-qt

> [email protected] install C:\WINDOWS\system32\node_modules\node-qt
> node-gyp rebuild


C:\WINDOWS\system32\node_modules\node-qt>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
gyp ERR! configure error
gyp ERR! stack Error: Command failed: C:\Program Files\Python37\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack   File "<string>", line 1
gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack                                ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:294:12)
gyp ERR! stack     at ChildProcess.emit (events.js:198:13)
gyp ERR! stack     at maybeClose (internal/child_process.js:982:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\WINDOWS\system32\node_modules\node-qt
gyp ERR! node -v v10.16.2
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open 'C:\WINDOWS\system32\package.json'
npm WARN system32 No description
npm WARN system32 No repository field.
npm WARN system32 No README data
npm WARN system32 No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Gray\AppData\Roaming\npm-cache\_logs\2019-08-11T15_29_47_557Z-debug.log

that mentioned log file is https://files.catbox.moe/zgnkl9.log

Fails to install on Kubuntu 16.04 / Node 6.7.0

Followed the instructions & installed the dependencies, this is what happened:

osboxes@osboxes:~/dev$ npm install --save node-qt     

> [email protected] install /home/osboxes/dev/node_modules/node-qt
> node-gyp rebuild

make: Entering directory '/home/osboxes/dev/node_modules/node-qt/build'
  CXX(target) Release/obj.target/qt/src/qt.o
../src/qt.cc:30:0: warning: "BUILDING_NODE_EXTENSION" redefined
 #define BUILDING_NODE_EXTENSION
 ^
<command-line>:0:0: note: this is the location of the previous definition
In file included from ../src/qt.cc:33:0:
../src/QtCore/qsize.h:37:43: error: expected class-name before ‘{’ token
 class QSizeWrap : public node::ObjectWrap {
                                           ^
../src/QtCore/qsize.h:51:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtCore/qsize.h:54:48: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Width(const v8::Arguments& args);
                                                ^
../src/QtCore/qsize.h:55:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Height(const v8::Arguments& args);
                                                 ^
In file included from ../src/qt.cc:34:0:
../src/QtCore/qpointf.h:37:45: error: expected class-name before ‘{’ token
 class QPointFWrap : public node::ObjectWrap {
                                             ^
../src/QtCore/qpointf.h:48:25: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   QPointFWrap(const v8::Arguments& args);
                         ^
../src/QtCore/qpointf.h:51:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtCore/qpointf.h:54:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> IsNull(const v8::Arguments& args);
                                                 ^
../src/QtCore/qpointf.h:55:44: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> X(const v8::Arguments& args);
                                            ^
../src/QtCore/qpointf.h:56:44: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Y(const v8::Arguments& args);
                                            ^
In file included from ../src/qt.cc:36:0:
../src/QtGui/qapplication.h:36:50: error: expected class-name before ‘{’ token
 class QApplicationWrap : public node::ObjectWrap {
                                                  ^
../src/QtGui/qapplication.h:45:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qapplication.h:48:56: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> ProcessEvents(const v8::Arguments& args);
                                                        ^
../src/QtGui/qapplication.h:49:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Exec(const v8::Arguments& args);
                                               ^
In file included from ../src/qt.cc:37:0:
../src/QtGui/qwidget.h:64:45: error: expected class-name before ‘{’ token
 class QWidgetWrap : public node::ObjectWrap {
                                             ^
../src/QtGui/qwidget.h:73:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qwidget.h:76:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Resize(const v8::Arguments& args);
                                                 ^
../src/QtGui/qwidget.h:77:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Show(const v8::Arguments& args);
                                               ^
../src/QtGui/qwidget.h:78:48: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Close(const v8::Arguments& args);
                                                ^
../src/QtGui/qwidget.h:79:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Size(const v8::Arguments& args);
                                               ^
../src/QtGui/qwidget.h:80:48: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Width(const v8::Arguments& args);
                                                ^
../src/QtGui/qwidget.h:81:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Height(const v8::Arguments& args);
                                                 ^
../src/QtGui/qwidget.h:82:53: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> ObjectName(const v8::Arguments& args);
                                                     ^
../src/QtGui/qwidget.h:83:56: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetObjectName(const v8::Arguments& args);
                                                        ^
../src/QtGui/qwidget.h:84:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Parent(const v8::Arguments& args);
                                                 ^
../src/QtGui/qwidget.h:85:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Update(const v8::Arguments& args);
                                                 ^
../src/QtGui/qwidget.h:86:59: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetMouseTracking(const v8::Arguments& args);
                                                           ^
../src/QtGui/qwidget.h:87:59: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> HasMouseTracking(const v8::Arguments& args);
                                                           ^
../src/QtGui/qwidget.h:88:57: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetFocusPolicy(const v8::Arguments& args);
                                                         ^
../src/QtGui/qwidget.h:89:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Move(const v8::Arguments& args);
                                               ^
../src/QtGui/qwidget.h:90:44: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> X(const v8::Arguments& args);
                                            ^
../src/QtGui/qwidget.h:91:44: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Y(const v8::Arguments& args);
                                            ^
../src/QtGui/qwidget.h:97:53: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> PaintEvent(const v8::Arguments& args);
                                                     ^
../src/QtGui/qwidget.h:98:58: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> MousePressEvent(const v8::Arguments& args);
                                                          ^
../src/QtGui/qwidget.h:99:60: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> MouseReleaseEvent(const v8::Arguments& args);
                                                            ^
../src/QtGui/qwidget.h:100:57: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> MouseMoveEvent(const v8::Arguments& args);
                                                         ^
../src/QtGui/qwidget.h:101:56: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> KeyPressEvent(const v8::Arguments& args);
                                                        ^
../src/QtGui/qwidget.h:102:58: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> KeyReleaseEvent(const v8::Arguments& args);
                                                          ^
In file included from ../src/qt.cc:38:0:
../src/QtGui/qmouseevent.h:37:49: error: expected class-name before ‘{’ token
 class QMouseEventWrap : public node::ObjectWrap {
                                                 ^
../src/QtGui/qmouseevent.h:51:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qmouseevent.h:54:44: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> X(const v8::Arguments& args);
                                            ^
../src/QtGui/qmouseevent.h:55:44: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Y(const v8::Arguments& args);
                                            ^
../src/QtGui/qmouseevent.h:56:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Button(const v8::Arguments& args);
                                                 ^
In file included from ../src/qt.cc:39:0:
../src/QtGui/qkeyevent.h:37:47: error: expected class-name before ‘{’ token
 class QKeyEventWrap : public node::ObjectWrap {
                                               ^
../src/QtGui/qkeyevent.h:51:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qkeyevent.h:54:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Key(const v8::Arguments& args);
                                              ^
../src/QtGui/qkeyevent.h:55:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Text(const v8::Arguments& args);
                                               ^
In file included from ../src/qt.cc:40:0:
../src/QtGui/qpixmap.h:37:45: error: expected class-name before ‘{’ token
 class QPixmapWrap : public node::ObjectWrap {
                                             ^
../src/QtGui/qpixmap.h:51:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qpixmap.h:54:48: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Width(const v8::Arguments& args);
                                                ^
../src/QtGui/qpixmap.h:55:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Height(const v8::Arguments& args);
                                                 ^
../src/QtGui/qpixmap.h:56:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Save(const v8::Arguments& args);
                                               ^
../src/QtGui/qpixmap.h:57:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Fill(const v8::Arguments& args);
                                               ^
In file included from ../src/qt.cc:41:0:
../src/QtGui/qpainter.h:37:46: error: expected class-name before ‘{’ token
 class QPainterWrap : public node::ObjectWrap {
                                              ^
../src/QtGui/qpainter.h:46:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qpainter.h:52:48: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Begin(const v8::Arguments& args);
                                                ^
../src/QtGui/qpainter.h:53:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> End(const v8::Arguments& args);
                                              ^
../src/QtGui/qpainter.h:54:51: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> IsActive(const v8::Arguments& args);
                                                   ^
../src/QtGui/qpainter.h:55:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Save(const v8::Arguments& args);
                                               ^
../src/QtGui/qpainter.h:56:50: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Restore(const v8::Arguments& args);
                                                  ^
../src/QtGui/qpainter.h:59:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetPen(const v8::Arguments& args);
                                                 ^
../src/QtGui/qpainter.h:60:50: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetFont(const v8::Arguments& args);
                                                  ^
../src/QtGui/qpainter.h:61:52: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetMatrix(const v8::Arguments& args);
                                                    ^
../src/QtGui/qpainter.h:64:51: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> FillRect(const v8::Arguments& args);
                                                   ^
../src/QtGui/qpainter.h:65:51: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> DrawText(const v8::Arguments& args);
                                                   ^
../src/QtGui/qpainter.h:66:53: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> DrawPixmap(const v8::Arguments& args);
                                                     ^
../src/QtGui/qpainter.h:67:52: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> DrawImage(const v8::Arguments& args);
                                                    ^
../src/QtGui/qpainter.h:68:53: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> StrokePath(const v8::Arguments& args);
                                                     ^
In file included from ../src/qt.cc:42:0:
../src/QtGui/qcolor.h:37:44: error: expected class-name before ‘{’ token
 class QColorWrap : public node::ObjectWrap {
                                            ^
../src/QtGui/qcolor.h:43:24: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   QColorWrap(const v8::Arguments& args);
                        ^
../src/QtGui/qcolor.h:46:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qcolor.h:49:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Red(const v8::Arguments& args);
                                              ^
../src/QtGui/qcolor.h:50:48: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Green(const v8::Arguments& args);
                                                ^
../src/QtGui/qcolor.h:51:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Blue(const v8::Arguments& args);
                                               ^
../src/QtGui/qcolor.h:52:48: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Alpha(const v8::Arguments& args);
                                                ^
../src/QtGui/qcolor.h:53:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Name(const v8::Arguments& args);
                                               ^
In file included from ../src/qt.cc:43:0:
../src/QtGui/qbrush.h:37:44: error: expected class-name before ‘{’ token
 class QBrushWrap : public node::ObjectWrap {
                                            ^
../src/QtGui/qbrush.h:43:24: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   QBrushWrap(const v8::Arguments& args);
                        ^
../src/QtGui/qbrush.h:46:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
In file included from ../src/qt.cc:44:0:
../src/QtGui/qpen.h:37:42: error: expected class-name before ‘{’ token
 class QPenWrap : public node::ObjectWrap {
                                          ^
../src/QtGui/qpen.h:43:22: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   QPenWrap(const v8::Arguments& args);
                      ^
../src/QtGui/qpen.h:46:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
In file included from ../src/qt.cc:45:0:
../src/QtGui/qimage.h:37:44: error: expected class-name before ‘{’ token
 class QImageWrap : public node::ObjectWrap {
                                            ^
../src/QtGui/qimage.h:43:24: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   QImageWrap(const v8::Arguments& args);
                        ^
../src/QtGui/qimage.h:46:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qimage.h:49:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> IsNull(const v8::Arguments& args);
                                                 ^
In file included from ../src/qt.cc:46:0:
../src/QtGui/qpainterpath.h:37:50: error: expected class-name before ‘{’ token
 class QPainterPathWrap : public node::ObjectWrap {
                                                  ^
../src/QtGui/qpainterpath.h:43:30: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   QPainterPathWrap(const v8::Arguments& args);
                              ^
../src/QtGui/qpainterpath.h:46:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qpainterpath.h:49:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> MoveTo(const v8::Arguments& args);
                                                 ^
../src/QtGui/qpainterpath.h:50:58: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> CurrentPosition(const v8::Arguments& args);
                                                          ^
../src/QtGui/qpainterpath.h:51:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> LineTo(const v8::Arguments& args);
                                                 ^
../src/QtGui/qpainterpath.h:52:55: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> CloseSubpath(const v8::Arguments& args);
                                                       ^
In file included from ../src/qt.cc:47:0:
../src/QtGui/qfont.h:37:43: error: expected class-name before ‘{’ token
 class QFontWrap : public node::ObjectWrap {
                                           ^
../src/QtGui/qfont.h:48:23: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   QFontWrap(const v8::Arguments& args);
                       ^
../src/QtGui/qfont.h:51:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qfont.h:54:52: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetFamily(const v8::Arguments& args);
                                                    ^
../src/QtGui/qfont.h:55:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Family(const v8::Arguments& args);
                                                 ^
../src/QtGui/qfont.h:56:55: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetPixelSize(const v8::Arguments& args);
                                                       ^
../src/QtGui/qfont.h:57:52: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> PixelSize(const v8::Arguments& args);
                                                    ^
../src/QtGui/qfont.h:58:55: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetPointSize(const v8::Arguments& args);
                                                       ^
../src/QtGui/qfont.h:59:52: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> PointSize(const v8::Arguments& args);
                                                    ^
../src/QtGui/qfont.h:60:56: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetPointSizeF(const v8::Arguments& args);
                                                        ^
../src/QtGui/qfont.h:61:53: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> PointSizeF(const v8::Arguments& args);
                                                     ^
In file included from ../src/qt.cc:48:0:
../src/QtGui/qmatrix.h:37:45: error: expected class-name before ‘{’ token
 class QMatrixWrap : public node::ObjectWrap {
                                             ^
../src/QtGui/qmatrix.h:48:25: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   QMatrixWrap(const v8::Arguments& args);
                         ^
../src/QtGui/qmatrix.h:51:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qmatrix.h:54:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> M11(const v8::Arguments& args);
                                              ^
../src/QtGui/qmatrix.h:55:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> M12(const v8::Arguments& args);
                                              ^
../src/QtGui/qmatrix.h:56:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> M21(const v8::Arguments& args);
                                              ^
../src/QtGui/qmatrix.h:57:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> M22(const v8::Arguments& args);
                                              ^
../src/QtGui/qmatrix.h:58:45: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Dx(const v8::Arguments& args);
                                             ^
../src/QtGui/qmatrix.h:59:45: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Dy(const v8::Arguments& args);
                                             ^
../src/QtGui/qmatrix.h:60:52: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Translate(const v8::Arguments& args);
                                                    ^
../src/QtGui/qmatrix.h:61:48: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Scale(const v8::Arguments& args);
                                                ^
In file included from ../src/qt.cc:49:0:
../src/QtGui/qsound.h:37:44: error: expected class-name before ‘{’ token
 class QSoundWrap : public node::ObjectWrap {
                                            ^
../src/QtGui/qsound.h:43:24: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   QSoundWrap(const v8::Arguments& args);
                        ^
../src/QtGui/qsound.h:46:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qsound.h:49:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Play(const v8::Arguments& args);
                                               ^
../src/QtGui/qsound.h:50:51: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> FileName(const v8::Arguments& args);
                                                   ^
../src/QtGui/qsound.h:51:51: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetLoops(const v8::Arguments& args);
                                                   ^
In file included from ../src/qt.cc:50:0:
../src/QtGui/qscrollarea.h:40:49: error: expected class-name before ‘{’ token
 class QScrollAreaWrap : public node::ObjectWrap {
                                                 ^
../src/QtGui/qscrollarea.h:46:29: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   QScrollAreaWrap(const v8::Arguments& args);
                             ^
../src/QtGui/qscrollarea.h:49:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qscrollarea.h:52:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Resize(const v8::Arguments& args);
                                                 ^
../src/QtGui/qscrollarea.h:53:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Show(const v8::Arguments& args);
                                               ^
../src/QtGui/qscrollarea.h:54:48: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Close(const v8::Arguments& args);
                                                ^
../src/QtGui/qscrollarea.h:55:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Size(const v8::Arguments& args);
                                               ^
../src/QtGui/qscrollarea.h:56:48: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Width(const v8::Arguments& args);
                                                ^
../src/QtGui/qscrollarea.h:57:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Height(const v8::Arguments& args);
                                                 ^
../src/QtGui/qscrollarea.h:58:53: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> ObjectName(const v8::Arguments& args);
                                                     ^
../src/QtGui/qscrollarea.h:59:56: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetObjectName(const v8::Arguments& args);
                                                        ^
../src/QtGui/qscrollarea.h:60:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Parent(const v8::Arguments& args);
                                                 ^
../src/QtGui/qscrollarea.h:61:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Update(const v8::Arguments& args);
                                                 ^
../src/QtGui/qscrollarea.h:62:57: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetFocusPolicy(const v8::Arguments& args);
                                                         ^
../src/QtGui/qscrollarea.h:63:47: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Move(const v8::Arguments& args);
                                               ^
../src/QtGui/qscrollarea.h:64:44: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> X(const v8::Arguments& args);
                                            ^
../src/QtGui/qscrollarea.h:65:44: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Y(const v8::Arguments& args);
                                            ^
../src/QtGui/qscrollarea.h:68:52: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetWidget(const v8::Arguments& args);
                                                    ^
../src/QtGui/qscrollarea.h:69:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Widget(const v8::Arguments& args);
                                                 ^
../src/QtGui/qscrollarea.h:70:56: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetFrameShape(const v8::Arguments& args);
                                                        ^
../src/QtGui/qscrollarea.h:72:42: error: ‘Arguments’ in namespace ‘v8’ does not name a type
     SetVerticalScrollBarPolicy(const v8::Arguments& args);
                                          ^
../src/QtGui/qscrollarea.h:74:44: error: ‘Arguments’ in namespace ‘v8’ does not name a type
     SetHorizontalScrollBarPolicy(const v8::Arguments& args);
                                            ^
../src/QtGui/qscrollarea.h:75:60: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> VerticalScrollBar(const v8::Arguments& args);
                                                            ^
../src/QtGui/qscrollarea.h:76:62: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> HorizontalScrollBar(const v8::Arguments& args);
                                                              ^
In file included from ../src/qt.cc:51:0:
../src/QtGui/qscrollbar.h:37:48: error: expected class-name before ‘{’ token
 class QScrollBarWrap : public node::ObjectWrap {
                                                ^
../src/QtGui/qscrollbar.h:49:28: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   QScrollBarWrap(const v8::Arguments& args);
                            ^
../src/QtGui/qscrollbar.h:52:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtGui/qscrollbar.h:55:48: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Value(const v8::Arguments& args);
                                                ^
../src/QtGui/qscrollbar.h:56:51: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> SetValue(const v8::Arguments& args);
                                                   ^
In file included from ../src/qt.cc:53:0:
../src/QtTest/qtesteventlist.h:37:52: error: expected class-name before ‘{’ token
 class QTestEventListWrap : public node::ObjectWrap {
                                                    ^
../src/QtTest/qtesteventlist.h:46:46: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                              ^
../src/QtTest/qtesteventlist.h:49:56: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> AddMouseClick(const v8::Arguments& args);
                                                        ^
../src/QtTest/qtesteventlist.h:50:54: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> AddKeyPress(const v8::Arguments& args);
                                                      ^
../src/QtTest/qtesteventlist.h:51:51: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Simulate(const v8::Arguments& args);
                                                   ^
qt.target.mk:117: recipe for target 'Release/obj.target/qt/src/qt.o' failed
make: *** [Release/obj.target/qt/src/qt.o] Error 1
make: Leaving directory '/home/osboxes/dev/node_modules/node-qt/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.0-21-generic
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/osboxes/dev/node_modules/node-qt
gyp ERR! node -v v6.7.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok 
npm WARN [email protected] No repository field.
npm ERR! Linux 4.4.0-21-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--save" "node-qt"
npm ERR! node v6.7.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-qt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs node-qt
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls node-qt
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/osboxes/dev/npm-debug.log

QWaitCondition: Destroyed while threads are still waiting

I added a wrapper for QWebPage, and when the JS exits after I have called QWebPage::load() this is output to std error/out.

It is a qWarning in the destructor of QWaitCondition.

If I just retrieve the html or call any QWebPage function that is a simple property wrapper, no error.

The standard setInternval( function() { app.processEvents(); }, 0) is in the script.
Basically everything works fine except this message is output on exit.

a quit() was a added to QApplicationWrap that simply called QCoreApplication::quit(), and that is called, but makes no difference.

Any Qt whiz knows how this can be fixed? Obviously there is some threading/event issues with the async load() call, but I have minimal skills to figure this out..

Cheers for any help.

Assertion `handle->InternalFieldCount() > 0' failed.

Forgive my poor English.:)

In my computer, both Windows XP SP3 and Ubuntu 13.04, when I run the example code in README.md. It reported error :Assertion `handle->InternalFieldCount() > 0' failed.

The code in README.md:

var qt = require('node-qt'),
    app = new qt.QApplication,
    window = new qt.QWidget;

// Prevent objects from being GC'd
global.app = app;
global.window = window;

// Quirk: the virtual method paintEvent() is mapped into a callback setter
window.paintEvent(function() {
  var p = new qt.QPainter();
  p.begin(window);
  p.drawText(20, 30, 'hello node, hello qt');
  p.end();
});

window.resize(300, 150);
window.show();

// Join Node's event loop
setInterval(app.processEvents, 0);

But after I replace the statement

setInterval(app.processEvents, 0);

with

setInterval(function () {
  app.processEvents();
}, 0);

It's okay. Is it a bug?

Installing on 64 bit windows fails

Performing an npm install on windows 8 64 bit fails with the following error:

QtCore4.lib(QtCore4.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64' [.......\node_modules\node-qt\build\qt.vcxproj]

If I try setting the windows sdk environment to x86 I get this error instead:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\PlatformToolsets\Windows7.1SDK\Microsoft.Cpp.x64.Windows7.1SDK.targets(20,5):
error : You are attempting to build an AMD64 application from an x86 environment. If using the Windows 7.1 SDK, type setenv /x64 [........\node_modules\node-qt\build\qt.vcxproj]

Suggestion of logo

I prepared some presentation about Node QT and had to use some visual mark for that, then I created an easy logo.

Node QT Logo

Error: Cannot find module '...../node_modules/node-qt/lib/../build/Release/qt.node'

require('node-qt')
Error: Cannot find module '/Users/myuser/www/node_modules/node-qt/lib/../build/Release/qt.node'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at Object. (/Users/alexandruvladutu/www/node_modules/node-qt/lib/qt.js:40:10)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Module.require (module.js:354:17)

What's up with that? I got that in Windows also, but I thought it would work on Mac :|

build error for mac

compilation terminated.
make: *** [Release/obj.target/qt/src/qt.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.3.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/steppenwolf/openSource/TalkGG/node_modules/node-qt
gyp ERR! node -v v4.2.2
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm verb unsafe-perm in lifecycle true
npm info [email protected] Failed to exec install script
npm verb unlock done using /Users/steppenwolf/.npm/_locks/node-qt-96f067b7d3d1086f.lock for /Users/steppenwolf/openSource/TalkGG/node_modules/node-qt
npm verb stack Error: [email protected] install: node-gyp rebuild
npm verb stack Exit status 1
npm verb stack at EventEmitter. (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:214:16)
npm verb stack at emitTwo (events.js:87:13)
npm verb stack at EventEmitter.emit (events.js:172:7)
npm verb stack at ChildProcess. (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
npm verb stack at emitTwo (events.js:87:13)
npm verb stack at ChildProcess.emit (events.js:172:7)
npm verb stack at maybeClose (internal/child_process.js:818:16)
npm verb stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
npm verb pkgid [email protected]
npm verb cwd /Users/steppenwolf/openSource/TalkGG
npm ERR! Darwin 15.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "--save" "-verbos" "node-qt"
npm ERR! node v4.2.2
npm ERR! npm v2.14.7
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the node-qt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls node-qt
npm ERR! There is likely additional logging output above.
npm verb exit [ 1, true ]
npm verb unbuild node_modules/node-qt
npm info preuninstall [email protected]
npm info uninstall [email protected]
npm verb unbuild rmStuff [email protected] from /Users/steppenwolf/openSource/TalkGG/node_modules
npm info postuninstall [email protected]
npm verb gentlyRm don't care about contents; nuking /Users/steppenwolf/openSource/TalkGG/node_modules/node-qt

npm ERR! Please include the following file with any support request:

node-qt installation failed on windows7

I installed node-v0.10.24-x64 in Windows7.
I have Microsoft Visual Studio and python-2.7.3 in my system.
When I do npm install node-qt , the following error occurs:

C:>npm install node-qt
npm WARN package.json [email protected] No description
npm WARN package.json [email protected] No repository field.
npm http GET https://registry.npmjs.org/node-qt
npm http 304 https://registry.npmjs.org/node-qt
npm http GET https://registry.npmjs.org/shelljs/0.0.5-pre4
npm http 304 https://registry.npmjs.org/shelljs/0.0.5-pre4

[email protected] install C:\node_modules\node-qt
node-gyp rebuild

C:\node_modules\node-qt>node "C:\Program Files\nodejs\node_modules\npm\bin\node-
gyp-bin....\node_modules\node-gyp\bin\node-gyp.js" rebuild
VCBUILD : error : project file 'C:\node_modules\node-qt\build\qt.vcproj' was no
t found or not a valid project file. [C:\node_modules\node-qt\build\binding.sln
]
gyp ERR! build error
gyp ERR! stack Error: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules
npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:789:
12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\Program Files\nodejs\node_modules\npm\node_modu
les\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\node_modules\node-qt
gyp ERR! node -v v0.10.24
gyp ERR! node-gyp -v v0.12.1
gyp ERR! not ok
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the node-qt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls node-qt
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nod
ejs\node_modules\npm\bin\npm-cli.js" "install" "node-qt"
npm ERR! cwd C:
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\npm-debug.log
npm ERR! not ok code 0

Please Help me..

What about QML?

Will you incorporate QML somehow, or leave it at just the C aspects?

This is here to inform you that there are better ways of doing bindings.

First of all, you are doing a great job.
Second, you're writing vanilla v8 bindings, not the best of things. I had a couple of projects aimed at better bindings.
The one I started with was before node, and is now dead. I thought about rewriting node.js in it, but I didn't have the power to finish that either.
Here's an example: https://github.com/eddyb/gearbox-node/blob/master/src/modules/tty.gear (if it looks bad, it's because of the lack of highlighting).
I had a successful attempt at using a portable version of it in a node module, would you want that?

App doesn't exit

I've tried the example apps. They work until I exit the app. The window disappears, but the process remains active until I manually kill it, either via task manager, or ctrl-c in the terminal window.

Thanks,
Bruce

Can't open example @ Mac

I am getting the following result when I try to run the tests. I built it via NPM. v0.6.15 (Mac). The same results appear when I run an example.

$ node make test
_________________________________________________________________
Running Node-Qt tests

rm: no such file or directory: img-test/*

Running test file qcolor.js
Running test file qfont.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Unable to load shared library /Users/myusername/nodeApps/node_modules/node-qt/build/Release/qt.node
    at Object..node (module.js:472:11)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/Users/myusername/nodeApps/node_modules/node-qt/lib/qt.js:40:10)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
Running test file qimage.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Unable to load shared library /Users/myusername/nodeApps/node_modules/node-qt/build/Release/qt.node
    at Object..node (module.js:472:11)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/Users/myusername/nodeApps/node_modules/node-qt/lib/qt.js:40:10)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
Running test file qmatrix.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Unable to load shared library /Users/myusername/nodeApps/node_modules/node-qt/build/Release/qt.node
    at Object..node (module.js:472:11)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/Users/myusername/nodeApps/node_modules/node-qt/lib/qt.js:40:10)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
Running test file qpainter.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Unable to load shared library /Users/myusername/nodeApps/node_modules/node-qt/build/Release/qt.node
    at Object..node (module.js:472:11)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/Users/myusername/nodeApps/node_modules/node-qt/lib/qt.js:40:10)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
Running test file qpainterpath.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Unable to load shared library /Users/myusername/nodeApps/node_modules/node-qt/build/Release/qt.node
    at Object..node (module.js:472:11)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/Users/myusername/nodeApps/node_modules/node-qt/lib/qt.js:40:10)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
Running test file qpen.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Unable to load shared library /Users/myusername/nodeApps/node_modules/node-qt/build/Release/qt.node
    at Object..node (module.js:472:11)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/Users/myusername/nodeApps/node_modules/node-qt/lib/qt.js:40:10)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
Running test file qpixmap.js
Running test file qpointf.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Unable to load shared library /Users/myusername/nodeApps/node_modules/node-qt/build/Release/qt.node
    at Object..node (module.js:472:11)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/Users/myusername/nodeApps/node_modules/node-qt/lib/qt.js:40:10)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
Running test file qscrollarea.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Unable to load shared library /Users/myusername/nodeApps/node_modules/node-qt/build/Release/qt.node
    at Object..node (module.js:472:11)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/Users/myusername/nodeApps/node_modules/node-qt/lib/qt.js:40:10)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
Running test file qsound.js

node.js:201
Running test file qwidget.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Unable to load shared library /Users/myusername/nodeApps/node_modules/node-qt/build/Release/qt.node
    at Object..node (module.js:472:11)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/Users/myusername/nodeApps/node_modules/node-qt/lib/qt.js:40:10)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)```

qt with node.js is not working

I installed node-v0.10.24.x64 on my Windows 7 (64 bit).
I have Visual studio and Python 2.7.3 in my system.
When I do npm install node-qt, the following error occur,

C:>npm install node-qt
npm WARN package.json [email protected] No description
npm WARN package.json [email protected] No repository field.
npm http GET https://registry.npmjs.org/node-qt
npm http 304 https://registry.npmjs.org/node-qt
npm http GET https://registry.npmjs.org/shelljs/0.0.5-pre4
npm http 304 https://registry.npmjs.org/shelljs/0.0.5-pre4

[email protected] install C:\node_modules\node-qt
node-gyp rebuild
C:\node_modules\node-qt>node "C:\Program Files\nodejs\node_modules\n
gyp-bin....\node_modules\node-gyp\bin\node-gyp.js" rebuild
VCBUILD : error : project file 'C:\node_modules\node-qt\build\qt.vcp
t found or not a valid project file. [C:\node_modules\node-qt\build
]
gyp ERR! build error
gyp ERR! stack Error: C:\Windows\Microsoft.NET\Framework\v4.0.30319 failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\n
npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:1
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_pro
12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\Program Files\nodejs\node_modules\np
les\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\node_modules\node-qt
gyp ERR! node -v v0.10.24
gyp ERR! node-gyp -v v0.12.1
gyp ERR! not ok
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the node-qt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls node-qt
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\Program Files\nodejs\node.exe" "C:\Progra
ejs\node_modules\npm\bin\npm-cli.js" "install" "node-qt"
npm ERR! cwd C:
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\npm-debug.log
npm ERR! not ok code 0

Please Help me..

Fail running hello world

I try to run the hello world example, but I have the next error:

(process:3953): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

(process:3953): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

(process:3953): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
QGtkStyle was unable to detect the current GTK+ theme.
Qt: Session management error: None of the authentication protocols specified are supported
node: /root/.node-gyp/0.10.29/src/node_object_wrap.h:61: static T* node::ObjectWrap::Unwrap(v8::Handle<v8::Object>) [with T = QApplicationWrap]: La declaración `handle->InternalFieldCount() > 0' no se cumple.
Abortado

My develop environment is:

  • Linux ElementaryOS Luna 64bits
  • NodeJS v0.10.29
  • NPM 1.4.14

prototype proplem

function clock(){

}

clock.prototype = new qt.QWidget();
clock.prototype.printvalue = function(){
console.log('xxx');
}

var clocka = new clock();

and when run
problem :
.node-gyp/0.8.16/src/node_object_wrap.h:61: static T* node::ObjectWrap::Unwrap(v8::Handlev8::Object) [with T = QWidgetWrap]: Assertion `handle->InternalFieldCount() > 0' failed.
已放弃

X86/X64 "Target machine type" error

npm install node-qt returns the following (after a while) on Windows 8.1 (x64):

QtCore4.lib(QtCore4.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64' [C:\ Users\Nadim\desktop\nodeqt\node_modules\node-qt\build\qt.vcxproj]

Build fail OS X 10.11.6

$ npm install node-qt

> [email protected] install /Users/me/Desktop/node_modules/node-qt
> node-gyp rebuild

  CXX(target) Release/obj.target/qt/src/qt.o
../src/qt.cc:30:9: warning: 'BUILDING_NODE_EXTENSION' macro redefined [-Wmacro-redefined]
#define BUILDING_NODE_EXTENSION
        ^
<command line>:8:9: note: previous definition is here
#define BUILDING_NODE_EXTENSION 1
        ^
In file included from ../src/qt.cc:33:
In file included from ../src/QtCore/qsize.h:35:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtCore/QSize:1:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtCore/qsize.h:45:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtCore/qnamespace.h:45:
../deps/qt-4.8.0/darwin/x64/include/QtCore/qglobal.h:328:6: warning: "This version of Mac OS X is unsupported" [-W#warnings]
#    warning "This version of Mac OS X is unsupported"
     ^
In file included from ../src/qt.cc:33:
../src/QtCore/qsize.h:37:32: error: expected class name
class QSizeWrap : public node::ObjectWrap {
                               ^
../src/QtCore/qsize.h:51:42: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                         ^~~~~~~~~~~~~
                                         v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/qt.cc:33:
../src/QtCore/qsize.h:54:44: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  static v8::Handle<v8::Value> Width(const v8::Arguments& args);
                                           ^~~~~~~~~~~~~
                                           v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/qt.cc:33:
../src/QtCore/qsize.h:55:45: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  static v8::Handle<v8::Value> Height(const v8::Arguments& args);
                                            ^~~~~~~~~~~~~
                                            v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/qt.cc:34:
../src/QtCore/qpointf.h:37:34: error: expected class name
class QPointFWrap : public node::ObjectWrap {
                                 ^
../src/QtCore/qpointf.h:48:21: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  QPointFWrap(const v8::Arguments& args);
                    ^~~~~~~~~~~~~
                    v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/qt.cc:34:
../src/QtCore/qpointf.h:51:42: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                         ^~~~~~~~~~~~~
                                         v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/qt.cc:34:
../src/QtCore/qpointf.h:54:45: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  static v8::Handle<v8::Value> IsNull(const v8::Arguments& args);
                                            ^~~~~~~~~~~~~
                                            v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/qt.cc:34:
../src/QtCore/qpointf.h:55:40: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  static v8::Handle<v8::Value> X(const v8::Arguments& args);
                                       ^~~~~~~~~~~~~
                                       v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/qt.cc:34:
../src/QtCore/qpointf.h:56:40: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  static v8::Handle<v8::Value> Y(const v8::Arguments& args);
                                       ^~~~~~~~~~~~~
                                       v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/qt.cc:36:
In file included from ../src/QtGui/qapplication.h:34:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtGui/QApplication:1:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtGui/qapplication.h:45:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtCore/qcoreapplication.h:45:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtCore/qobject.h:50:
../deps/qt-4.8.0/darwin/x64/include/QtCore/qlist.h:184:22: error: reference to 'random_access_iterator_tag' is ambiguous
        typedef std::random_access_iterator_tag  iterator_category;
                     ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator:364:30: note: candidate found by name
      lookup is 'std::__1::random_access_iterator_tag'
struct _LIBCPP_TYPE_VIS_ONLY random_access_iterator_tag : public bidirectional_iterator_tag {};
                             ^
../deps/qt-4.8.0/darwin/x64/include/QtCore/qiterator.h:51:12: note: candidate found by name lookup is 'std::random_access_iterator_tag'
    struct random_access_iterator_tag;
           ^
In file included from ../src/qt.cc:36:
In file included from ../src/QtGui/qapplication.h:34:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtGui/QApplication:1:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtGui/qapplication.h:45:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtCore/qcoreapplication.h:45:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtCore/qobject.h:50:
../deps/qt-4.8.0/darwin/x64/include/QtCore/qlist.h:231:22: error: reference to 'random_access_iterator_tag' is ambiguous
        typedef std::random_access_iterator_tag  iterator_category;
                     ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iterator:364:30: note: candidate found by name
      lookup is 'std::__1::random_access_iterator_tag'
struct _LIBCPP_TYPE_VIS_ONLY random_access_iterator_tag : public bidirectional_iterator_tag {};
                             ^
../deps/qt-4.8.0/darwin/x64/include/QtCore/qiterator.h:51:12: note: candidate found by name lookup is 'std::random_access_iterator_tag'
    struct random_access_iterator_tag;
           ^
In file included from ../src/qt.cc:36:
../src/QtGui/qapplication.h:36:39: error: expected class name
class QApplicationWrap : public node::ObjectWrap {
                                      ^
../src/QtGui/qapplication.h:45:42: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                         ^~~~~~~~~~~~~
                                         v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/qt.cc:36:
../src/QtGui/qapplication.h:48:52: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  static v8::Handle<v8::Value> ProcessEvents(const v8::Arguments& args);
                                                   ^~~~~~~~~~~~~
                                                   v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/qt.cc:36:
../src/QtGui/qapplication.h:49:43: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  static v8::Handle<v8::Value> Exec(const v8::Arguments& args);
                                          ^~~~~~~~~~~~~
                                          v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/qt.cc:37:
In file included from ../src/QtGui/qwidget.h:35:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtGui/QWidget:1:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtGui/qwidget.h:49:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtGui/qpalette.h:47:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtGui/qbrush.h:53:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtGui/qpixmap.h:49:
In file included from ../deps/qt-4.8.0/darwin/x64/include/QtCore/qsharedpointer.h:50:
../deps/qt-4.8.0/darwin/x64/include/QtCore/qsharedpointer_impl.h:435:17: warning: 'register' storage class specifier is deprecated and incompatible
      with C++1z [-Wdeprecated-register]
                register int tmp = o->strongref;
                ^~~~~~~~~
../deps/qt-4.8.0/darwin/x64/include/QtCore/qsharedpointer_impl.h:822:5: warning: 'register' storage class specifier is deprecated and incompatible with
      C++1z [-Wdeprecated-register]
    register X *ptr = static_cast<X *>(src.data()); // if you get an error in this line, the cast is invalid
    ^~~~~~~~~
../deps/qt-4.8.0/darwin/x64/include/QtCore/qsharedpointer_impl.h:834:5: warning: 'register' storage class specifier is deprecated and incompatible with
      C++1z [-Wdeprecated-register]
    register X *ptr = dynamic_cast<X *>(src.data()); // if you get an error in this line, the cast is invalid
    ^~~~~~~~~
../deps/qt-4.8.0/darwin/x64/include/QtCore/qsharedpointer_impl.h:846:5: warning: 'register' storage class specifier is deprecated and incompatible with
      C++1z [-Wdeprecated-register]
    register X *ptr = const_cast<X *>(src.data()); // if you get an error in this line, the cast is invalid
    ^~~~~~~~~
../deps/qt-4.8.0/darwin/x64/include/QtCore/qsharedpointer_impl.h:866:5: warning: 'register' storage class specifier is deprecated and incompatible with
      C++1z [-Wdeprecated-register]
    register X *ptr = qobject_cast<X *>(src.data());
    ^~~~~~~~~
In file included from ../src/qt.cc:37:
../src/QtGui/qwidget.h:64:34: error: expected class name
class QWidgetWrap : public node::ObjectWrap {
                                 ^
../src/QtGui/qwidget.h:73:42: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                         ^~~~~~~~~~~~~
                                         v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
In file included from ../src/qt.cc:37:
../src/QtGui/qwidget.h:76:45: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
  static v8::Handle<v8::Value> Resize(const v8::Arguments& args);
                                            ^~~~~~~~~~~~~
                                            v8::internal::Arguments
/Users/me/.node-gyp/11.4.0/include/node/v8.h:143:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
7 warnings and 20 errors generated.
make: *** [Release/obj.target/qt/src/qt.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:254:12)
gyp ERR! System Darwin 15.6.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/me/Desktop/node_modules/node-qt
gyp ERR! node -v v11.4.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open '/Users/me/Desktop/package.json'
npm WARN Desktop No description
npm WARN Desktop No repository field.
npm WARN Desktop No README data
npm WARN Desktop No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/me/.npm/_logs/2018-12-19T03_59_11_755Z-debug.log```

osX Mac failed on node-gyp rebuild

Not able to use it on Mac, getting error on 'node-qpy rebuild' Also attached npm-build log.

node-gyp rebuild 10:25:57
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp info spawn /usr/bin/python
gyp info spawn args [ '/Users/vineetsaini/.nvm/versions/node/v4.6.1/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/Users/vineetsaini/Documents/workspacenode/qtTest/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/vineetsaini/.nvm/versions/node/v4.6.1/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/vineetsaini/.node-gyp/4.6.1/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/Users/vineetsaini/.node-gyp/4.6.1',
gyp info spawn args '-Dnode_gyp_dir=/Users/vineetsaini/.nvm/versions/node/v4.6.1/lib/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=node.lib',
gyp info spawn args '-Dmodule_root_dir=/Users/vineetsaini/Documents/workspacenode/qtTest',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.' ]
gyp: binding.gyp not found (cwd: /Users/vineetsaini/Documents/workspacenode/qtTest) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: gyp failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/Users/vineetsaini/.nvm/versions/node/v4.6.1/lib/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 13.4.0
gyp ERR! command "/Users/vineetsaini/.nvm/versions/node/v4.6.1/bin/node" "/Users/vineetsaini/.nvm/versions/node/v4.6.1/bin/node-gyp" "rebuild"
gyp ERR! cwd /Users/vineetsaini/Documents/workspacenode/qtTest
gyp ERR! node -v v4.6.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm-debug.log.zip

Trying to install 0.0.2 is a no go.

node -v
v0.6.9
on Ubuntu 11.10

So this: npm install [email protected]

npm http GET https://registry.npmjs.org/node-qt/0.0.2
npm http 304 https://registry.npmjs.org/node-qt/0.0.2

npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: [email protected]
npm ERR! Required: {"node":">=0.6.14"}
npm ERR! Actual: {"npm":"1.1.0-3","node":"0.6.9"}
npm ERR!
npm ERR! System Linux 3.0.0-17-generic
npm ERR! command "node" "/usr/local/bin/npm" "install" "[email protected]"
npm ERR! cwd /home/ubuntu/Desktop/nodeprojs
npm ERR! node -v v0.6.9
npm ERR! npm -v 1.1.0-3
npm ERR! code ENOTSUP
npm ERR! message Unsupported
npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/ubuntu/Desktop/nodeprojs/npm-debug.log
npm not ok

... am only able to install 0.0.1 with; npm install node-qt

but that will make it bark out that "[email protected] invalid" error bellow when I do : npm ls
npm WARN unmet dependency /home/ubuntu/Desktop/nodeprojs/node_modules/node-five requires node-qt@'0.0.2' but will load
npm WARN unmet dependency /home/ubuntu/Desktop/nodeprojs/node_modules/node-qt,
npm WARN unmet dependency which is version 0.0.1
/home/ubuntu/Desktop/nodeprojs
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├── [email protected]
├─┬ [email protected] invalid
... etc

Then tried git clone and 0.0.2 came through, had to put node-gyp in the modules so "npm ls" looks fine but "npm install" will throw:

[email protected] install /home/ubuntu/Desktop/nodeprojs/node_modules/node-qt
node-gyp rebuild

info it worked if it ends with ok
info downloading: http://nodejs.org/dist/v0.6.9/node-v0.6.9.tar.gz
ERR! UNCAUGHT EXCEPTION:
ERR! Error: UNKNOWN, unknown error '/home/ubuntu/.node-gyp/0.6.9'
ERR! This is a bug in node-gyp. Please open an Issue:
ERR! https://github.com/TooTallNate/node-gyp/issues
ERR! not ok

npm ERR! [email protected] install: node-gyp rebuild
npm ERR! sh "-c" "node-gyp rebuild" failed with 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the node-qt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls node-qt
npm ERR! There is likely additional logging output above.
npm ERR!
npm ERR! System Linux 3.0.0-17-generic
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /home/ubuntu/Desktop/nodeprojs/node_modules/node-qt
npm ERR! node -v v0.6.9
npm ERR! npm -v 1.1.0-3
npm ERR! code ELIFECYCLE
npm ERR! message [email protected] install: node-gyp rebuild
npm ERR! message sh "-c" "node-gyp rebuild" failed with 1
npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/ubuntu/Desktop/nodeprojs/node_modules/node-qt/npm-debug.log
npm not ok

Is this a package error?
Something trivial I may well be missing?
This is blocking node-five from running, the thing I was trying to test actually.
Any help is very welcomed.

Build failed Windows 10 x64 Node 10

When running npm install node-qt the compilation stop with this message:

C1003: error count exceeds 100; stopping compilation

Output (Not all shown, whole console buffer is filled up):

[...]
..\src\QtTest\qtesteventlist.cc(90): error C2275: 'QTestEventListWrap': illegal use of this type as an expression [f:\node-qt-hello-world\node_modules\node-q
t\build\qt.vcxproj]
..\src\QtTest\qtesteventlist.cc(90): fatal error C1003: error count exceeds 100; stopping compilation [f:\node-qt-hello-world\node_modules\node-qt\build\qt.v
cxproj]
gyp ERR! build error

Node version v10.7.0
NPM version 6.4.1
Visual Studio 2017
Windows 10 x64

Example fails with QT 5.3.1 on OSX 10.9.3

Assertion failed: (handle->InternalFieldCount() > 0), function Unwrap, file /Users/sebastian/.node-gyp/0.10.29/src/node_object_wrap.h, line 61.
[1] 54418 abort node index.js

can't use npm install node-qt. Python version ?

C:\Users\Rong\node_modules\node-qt>node "C:\Program Files\nodejs\node_modules\np
m\bin\node-gyp-bin....\node_modules\node-gyp\bin\node-gyp.js" rebuild
gyp ERR! configure error
gyp ERR! stack Error: Command failed: File "", line 1
gyp ERR! stack import platform; print platform.python_version();
gyp ERR! stack ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack
gyp ERR! stack at ChildProcess.exithandler (child_process.js:540:15)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack at maybeClose (child_process.js:638:16)
gyp ERR! stack at Process._handle.onexit (child_process.js:680:5)
gyp ERR! System Windows_NT 6.2.9200
gyp ERR! command "node" "C:\Program Files\nodejs\node_modules\npm\node_modu
les\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Rong\node_modules\node-qt
gyp ERR! node -v v0.8.14
gyp ERR! node-gyp -v v0.7.1
gyp ERR! not ok
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! cmd "/c" "node-gyp rebuild" failed with 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the node-qt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls node-qt
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nod
ejs\node_modules\npm\bin\npm-cli.js" "install" "node-qt"
npm ERR! cwd C:\Users\Rong
npm ERR! node -v v0.8.14
npm ERR! npm -v 1.1.65
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\Users\Rong\npm-debug.log
npm ERR! not ok code 0

How to open QTWebkit Windows?

I'll tell you my number 1 request, and a use-case that I think could be a game changer.

Forget all the QT widgets. Just focus on a way to have NodeJS be able spawn QT application windows that are an instance Webkit pointing to the URL of my choice.

var qtwebkit = require('qtwebkit');
var window = qtwebkit.open('http://myurl');
window.load('http://myurl/newpage.html');
window.close();

That way I can run an NodeJS service in the background, and send messages to it to spawn windows of my choosing. And I'd like this to be cross platform (Windows, Mac, Linux).

Developing desktop apps in this manner could obliterate Java as a universal write-once run-everywhere platform.

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.