May I know this can run or rebuild in windows?
Closed this issue ยท 23 comments
If yes, How to build it?
Thanks
Hello, it is not tested on Windows due to the lack of a test system. Are you having issues?
Hi, Yes I only work on window system. Would guild me to build it on windows system? I can test it on windows platform
The underlying library uses Make files to compile. If you want to use it on Windows without too many changes, you might want to try MinGW (http://www.mingw.org/) to see if it compiles correctly. Before you try that, you will need to compile Node for MinGW also. Here is an example of how to do that: https://github.com/zpao/spidernode/wiki/Building-node.js-on-mingw
If you manage to get compilation outputs under windows and let me know, it will help to make the necessary changes.
Hi, oransel,
I try use the node-gyp with VC to build your source, but fail cause it is missing file '../src/lib/lib/libta_libc_csr.a' where is mentioned in the binding.gyp file. Is that file exists? Thanks
The library it is referring to is the underlying technical analysis library. It needs to be built separately.
On May 31, 2013, at 11:47 AM, leejoo71 notifications@github.com wrote:
Hi, oransel,
I try use the node-gyp with VC to build your source, but fail cause it is missing file '../src/lib/lib/libta_libc_csr.a' where is mentioned in the binding.gyp file. Is that file exists? Thanksโ
Reply to this email directly or view it on GitHub.
I downloaded the original src from ta-lib.org and compiled with MSVC and re-built 4 libs. also changed the binding.gyp to below
'link_settings': {
'libraries': [
'../src/lib/lib/ta_common_csr.lib',
'../src/lib/lib/ta_abstract_csr.lib',
'../src/lib/lib/ta_func_csr.lib',
'../src/lib/lib/ta_libc_csr.lib'
]
}
But after "node-gyp build" got the error message "error LNK2001: unresolved external symbol...." (details see below). Do know what is my missing?
---------Error ---------------------
Creating library C:\temp\nodejs\node-talib-master\build\Release\talib.lib
and object C:\temp\nodejs\node-talib-master\build\Release\talib.exp
talib.obj : error LNK2001: unresolved external symbol TA_GetOutputParameterInfo
[C:\temp\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GetInputParameterInfo
[C:\temp\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetInputParamIntegerPt
r [C:\temp\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GroupTableAlloc [C:\te
mp\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetOutputParamRealPtr
[C:\temp\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetInputParamRealPtr [
C:\temp\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GetOptInputParameterIn
fo [C:\temp\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetOutputParamIntegerP
tr [C:\temp\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetInputParamPricePtr
[C:\temp\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_FuncTableFree [C:\temp
\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_FuncTableAlloc [C:\tem
p\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_ParamHolderAlloc [C:\t
emp\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetRetCodeInfo [C:\tem
p\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_ParamHolderFree [C:\te
mp\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GetFuncInfo [C:\temp\n
odejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetOptInputParamReal [
C:\temp\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_CallFunc [C:\temp\node
js\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GroupTableFree [C:\tem
p\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GetFuncHandle [C:\temp
\nodejs\node-talib-master\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetOptInputParamIntege
r [C:\temp\nodejs\node-talib-master\build\talib.vcxproj]
C:\temp\nodejs\node-talib-master\build\Release\talib.node : fatal error LNK1120
: 20 unresolved externals [C:\temp\nodejs\node-talib-master\build\talib.vcxproj
]
hi, it was done. I had only remark line#31 in tablib.cpp
//#include <unistd.h>
during it doesn't support in VC, and binding.gyp to
'link_settings': {
'libraries': [
'../src/lib/lib/ta_common_csr.lib',
'../src/lib/lib/ta_abstract_csr.lib',
'../src/lib/lib/ta_func_csr.lib',
'../src/lib/lib/ta_libc_csr.lib'
]
}
for Win32 version, I download the source for talib website, and copy all *.lib files into Lib directory and build with
node-gyp --arch=ia32 configure
for win64 version, extract all source and change all makefile in win32 to win64 and rebuild all the lib, then copy back to lib directory and rebuild by node-gyp
both test with your example and work well
thanks
Thank you for the valuable information. I will change the build scripts to support building with Visual C++.
On Jun 2, 2013, at 6:49 AM, leejoo71 notifications@github.com wrote:
hi, it was done. I had only remark line#31 in tablib.cpp
//#include
during it doesn't support in VC, and binding.gyp to
'link_settings': {
'libraries': [
'../src/lib/lib/ta_common_csr.lib',
'../src/lib/lib/ta_abstract_csr.lib',
'../src/lib/lib/ta_func_csr.lib',
'../src/lib/lib/ta_libc_csr.lib'
]
}for Win32 version, I download the source for talib website, and copy all *.lib files into Lib directory and build with
node-gyp --arch=ia32 configurefor win64 version, extract all source and change all makefile in win32 to win64 and rebuild all the lib, then copy back to lib directory and rebuild by node-gyp
both test with your example and work well
thanks
โ
Reply to this email directly or view it on GitHub.
From the discussion above, seems there is a lot things to do for making talib running on windows. We need MinGW, and rebuild nodejs, build ta-lib, maybe some other tools.
Are there some easy way to make talib running on windows?
I've managed to compile node-talib for x86 and x64 too. You don't need MinGW nor rebuilding nodejs.
Basically you need :
- node-gyp
- Python 2.7
- Windows SDK (VC compiler)
- talib sources (ta-lib-0.4.0-msvc.zip)
and follow last leejoo71's post.
@satoshisniper
I not a C++ developer, not quite understand what that means. May be you can help to resolve my problem. I have already downloaded what you listed above,
"for win64 version, extract all source and change all makefile in win32 to win64 and rebuild all the lib, then copy back to lib directory and rebuild by node-gyp"
- How to change all makefile in win32 to win64?
- Then copy what to which lib directory?
If you can list some detailed steps, that will much appreciate :)
Thanks
I am also trying to do this, cannot figure out how to change the makefile to win64
You need to change -DWIN32 to -DWIN64 in Makefiles.
Here are files that I had to change/create to successfully compile talib:
http://mrfile.me/piwbdk31blvv/ta-lib-win64-makefiles.zip.html
Updated link to makefiles: http://www.filedropper.com/ta-lib-win64-makefiles
Any news? Still not working on WIN 10
WIN10 64Bit, I am able to build c sources on this machine using satoshisniper's prerequests.
I followed leejoo71's instructions, but when I try to build using this command ">node ./src/lib/build.js && node-gyp configure && node-gyp build --msvs_version=2015"
But I get this:
node ./src/lib/build.js && node-gyp configure && node-gyp build --ms
vs_version=2015
building talib functions...
gyp info it worked if it ends with ok
gyp info using node-gyp@3.5.0
gyp info using node@7.4.0 | win32 | x64
gyp info spawn C:\Python27\python.EXE
gyp info spawn args [ 'C:\Users\OfekA\AppData\Roaming\npm\node_modules\node-gyp\gyp\gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'msvs',
gyp info spawn args '-G',
gyp info spawn args 'msvs_version=auto',
gyp info spawn args '-I',
gyp info spawn args 'C:\Users\OfekA\gekko\node_modules\talib\build\config.gypi',
gyp info spawn args '-I',
gyp info spawn args 'C:\Users\OfekA\AppData\Roaming\npm\node_modules\node-gyp\addon.gypi',
gyp info spawn args '-I',
gyp info spawn args 'C:\Users\OfekA\.node-gyp\7.4.0\include\node\common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=C:\Users\OfekA\.node-gyp\7.4.0',
gyp info spawn args '-Dnode_gyp_dir=C:\Users\OfekA\AppData\Roaming\npm\node_modules\node-gyp',
gyp info spawn args '-Dnode_lib_file=node.lib',
gyp info spawn args '-Dmodule_root_dir=C:\Users\OfekA\gekko\node_modules\talib',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'C:\Users\OfekA\gekko\node_modules\talib\build',
gyp info spawn args '-Goutput_dir=.' ]
gyp info ok
gyp info it worked if it ends with ok
gyp info using node-gyp@3.5.0
gyp info using node@7.4.0 | win32 | x64
gyp info spawn C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args '/clp:Verbosity=minimal',
gyp info spawn args '/nologo',
gyp info spawn args '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
talib.cpp
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(346): error C2988: unrecognizable template declaration/def
inition [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(346): error C2059: syntax error : 'using' [C:\Users\OfekA
gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(633): error C2253: 'PersistentBase' : pure specifier or
abstract override specifier only allowed on virtual function [C:\Users\OfekA\gekko\node_modules\talib\buil
d\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(638) : see reference to class template instantia
tion 'v8::PersistentBase' being compiled
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(841): error C2253: 'Global' : pure specifier or abstrac
t override specifier only allowed on virtual function [C:\Users\OfekA\gekko\node_modules\talib\build\talib.
vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(844) : see reference to class template instantia
tion 'v8::Global' being compiled
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(849): error C2988: unrecognizable template declaration/def
inition [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(849): error C2059: syntax error : 'using' [C:\Users\OfekA
gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(912): error C2989: 'v8::HandleScope' : class template has
already been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(329) : see declaration of 'v8::HandleScope'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(946): error C2989: 'v8::EscapableHandleScope' : class temp
late has already been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib
.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(140) : see declaration of 'v8::EscapableHandleSc
ope'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(976): error C2989: 'v8::Data' : class template has already
been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(77) : see declaration of 'v8::Data'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(1110): error C2989: 'v8::Script' : class template has alre
ady been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(100) : see declaration of 'v8::Script'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(1549): error C2989: 'v8::StackTrace' : class template has
already been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(105) : see declaration of 'v8::StackTrace'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(1612): error C2989: 'v8::StackFrame' : class template has
already been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(104) : see declaration of 'v8::StackFrame'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(2043): error C2989: 'v8::Value' : class template has alrea
dy been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(113) : see declaration of 'v8::Value'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(2049): error C2989: 'v8::Primitive' : class template has a
lready been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(96) : see declaration of 'v8::Primitive'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(2064): error C2989: 'v8::Boolean' : class template has alr
eady been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(73) : see declaration of 'v8::Boolean'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(2084): error C2989: 'v8::Name' : class template has alread
y been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(89) : see declaration of 'v8::Name'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(2452): error C2989: 'v8::String' : class template has alre
ady been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(106) : see declaration of 'v8::String'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(2491): error C2989: 'v8::Symbol' : class template has alre
ady been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(108) : see declaration of 'v8::Symbol'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(2519): error C2989: 'v8::Private' : class template has alr
eady been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(110) : see declaration of 'v8::Private'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(2533): error C2989: 'v8::Number' : class template has alre
ady been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(90) : see declaration of 'v8::Number'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(2548): error C2989: 'v8::Integer' : class template has alr
eady been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(85) : see declaration of 'v8::Integer'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(2562): error C2989: 'v8::Int32' : class template has alrea
dy been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(84) : see declaration of 'v8::Int32'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(2576): error C2989: 'v8::Uint32' : class template has alre
ady been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(111) : see declaration of 'v8::Uint32'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3039): error C2989: 'v8::Object' : class template has alre
ady been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(92) : see declaration of 'v8::Object'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3069): error C2989: 'v8::Array' : class template has alrea
dy been declared as a non-class template [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(72) : see declaration of 'v8::Array'
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3272): error C2504: 'v8::Object' : base class undefined [C
:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3279): error C2061: syntax error : identifier 'FunctionCal
lback' [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3285): error C2061: syntax error : identifier 'FunctionCal
lback' [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3295): error C2059: syntax error : 'return' [C:\Users\Ofek
A\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3295): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3300): error C2146: syntax error : missing ';' before iden
tifier 'Call' [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3306): error C2270: 'GetName' : modifiers not allowed on n
onmember functions [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3314): error C2270: 'GetInferredName' : modifiers not allo
wed on nonmember functions [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3320): error C2270: 'GetDebugName' : modifiers not allowed
on nonmember functions [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3326): error C2270: 'GetDisplayName' : modifiers not allow
ed on nonmember functions [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3332): error C2270: 'GetScriptLineNumber' : modifiers not
allowed on nonmember functions [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3337): error C2270: 'GetScriptColumnNumber' : modifiers no
t allowed on nonmember functions [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3342): error C2270: 'IsBuiltin' : modifiers not allowed on
nonmember functions [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3347): error C2270: 'ScriptId' : modifiers not allowed on
nonmember functions [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3353): error C2270: 'GetBoundFunction' : modifiers not all
owed on nonmember functions [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3355): error C2270: 'GetScriptOrigin' : modifiers not allo
wed on nonmember functions [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3359): error C2059: syntax error : 'private' [C:\Users\Ofe
kA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3360): error C2059: syntax error : ')' [C:\Users\OfekA\gek
ko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3369): error C2504: 'Object' : base class undefined [C:\Us
ers\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3371): error C2504: 'Object' : base class undefined [C:\Us
ers\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3377): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3377): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3377): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3378): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3378): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3379): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3384): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3384): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3384): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3390): error C2061: syntax error : identifier 'Local' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3392): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3392): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3392): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3394): error C2061: syntax error : identifier 'Local' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3396): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3396): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3396): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3398): error C2061: syntax error : identifier 'Value' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3402): error C2061: syntax error : identifier 'Value' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3412): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3412): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3412): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3413): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3413): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3414): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3417): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3417): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3417): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3418): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3418): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3419): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3427): error C2061: syntax error : identifier 'Value' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3431): error C2061: syntax error : identifier 'Value' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3439): error C2504: 'Object' : base class undefined [C:\Us
ers\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3441): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3441): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3441): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3442): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3442): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3442): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3449): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3449): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3451): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3453): error C2061: syntax error : identifier 'Value' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3457): error C2061: syntax error : identifier 'Value' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3460): error C2504: 'Object' : base class undefined [C:\Us
ers\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3465): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3465): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3466): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3467): error C2061: syntax error : identifier 'Value' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3471): error C2061: syntax error : identifier 'Value' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3487): error C2504: 'Object' : base class undefined [C:\Us
ers\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3512): error C2628: 'ArrayBuffer::Allocator' followed by '
void' is illegal (did you forget a ';'?) [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3546): error C3861: 'data_': identifier not found [C:\User
s\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3546): error C2461: 'Contents' : constructor syntax missin
g formal parameters [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3546): error C2059: syntax error : 'constant' [C:\Users\Of
ekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3546): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3546): error C2143: syntax error : missing ';' before '{'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3546): error C2334: unexpected token(s) preceding '{'; ski
pping apparent function body [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3548): error C2059: syntax error : 'return' [C:\Users\Ofek
A\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3548): error C2238: unexpected token(s) preceding ';' [C:
Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3549): error C2146: syntax error : missing ';' before iden
tifier 'ByteLength' [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3549): error C2270: 'ByteLength' : modifiers not allowed o
n nonmember functions [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3549): error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3549): error C2065: 'byte_length_' : undeclared identifier
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3551): error C2059: syntax error : 'private' [C:\Users\Ofe
kA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3555): error C2255: 'friend' : not allowed outside of a cl
ass definition [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3556): error C2059: syntax error : '}' [C:\Users\OfekA\gek
ko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3556): error C2143: syntax error : missing ';' before '}'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3562): error C2270: 'ByteLength' : modifiers not allowed o
n nonmember functions [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3570): error C2143: syntax error : missing ';' before '<'
[C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
c:\users\ofeka.node-gyp\7.4.0\include\node\v8.h(3570): fatal error C1003: error count exceeds 100; stoppin
g compilation [C:\Users\OfekA\gekko\node_modules\talib\build\talib.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Users\OfekA\AppData\Roaming\npm\node_modules\node-gyp\lib\buil
d.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 Windows_NT 10.0.14393
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Users\OfekA\AppData\Roaming\npm\node_module
s\node-gyp\bin\node-gyp.js" "build" "--msvs_version=2015"
gyp ERR! cwd C:\Users\OfekA\gekko\node_modules\talib
gyp ERR! node -v v7.4.0
gyp ERR! node-gyp -v v3.5.0
gyp ERR! not ok
Any help?
I've compiled the 4 libs from the talib source.
Then I've taken node-talib source, change the bindings file as per your instructions.
I'm running 64bit...so this is what configure looks like then the build:
F:\talib>node-gyp --arch=x64 configure
gyp info it worked if it ends with ok
gyp info using node-gyp@3.6.0
gyp info using node@7.8.0 | win32 | x64
gyp info spawn C:\Users\Freefall.windows-build-tools\python27\python.exe
gyp info spawn args [ 'C:\Users\Freefall\AppData\Roaming\npm\node_modules\node-gyp\gyp\gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'msvs',
gyp info spawn args '-G',
gyp info spawn args 'msvs_version=2015',
gyp info spawn args '-I',
gyp info spawn args 'F:\talib\build\config.gypi',
gyp info spawn args '-I',
gyp info spawn args 'C:\Users\Freefall\AppData\Roaming\npm\node_modules\node-gyp\addon.gypi',
gyp info spawn args '-I',
gyp info spawn args 'C:\Users\Freefall\.node-gyp\7.8.0\include\node\common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=C:\Users\Freefall\.node-gyp\7.8.0',
gyp info spawn args '-Dnode_gyp_dir=C:\Users\Freefall\AppData\Roaming\npm\node_modules\node-gyp',
gyp info spawn args '-Dnode_lib_file=node.lib',
gyp info spawn args '-Dmodule_root_dir=F:\talib',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'F:\talib\build',
gyp info spawn args '-Goutput_dir=.' ]
gyp info ok
F:\talib>node-gyp build
gyp info it worked if it ends with ok
gyp info using node-gyp@3.6.0
gyp info using node@7.8.0 | win32 | x64
gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args '/clp:Verbosity=minimal',
gyp info spawn args '/nologo',
gyp info spawn args '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
talib.cpp
win_delay_load_hook.cc
..\src\talib.cpp(917): warning C4244: '=': conversion from 'int64_t' to 'int', possible loss of data [F:\talib\build\ta
lib.vcxproj]
..\src\talib.cpp(981): warning C4244: '=': conversion from 'int64_t' to 'int', possible loss of data [F:\talib\build\ta
lib.vcxproj]
Creating library F:\talib\build\Release\talib.lib and object F:\talib\build\Release\talib.exp
talib.obj : error LNK2001: unresolved external symbol TA_SetOptInputParamReal [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetUnstablePeriod [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_FuncTableAlloc [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetInputParamRealPtr [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GroupTableFree [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_CallFunc [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetInputParamIntegerPtr [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GetFuncHandle [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_FuncTableFree [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_ParamHolderFree [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetOutputParamIntegerPtr [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetOptInputParamInteger [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GroupTableAlloc [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GetOptInputParameterInfo [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetOutputParamRealPtr [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_ParamHolderAlloc [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GetFuncInfo [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_Initialize [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GetOutputParameterInfo [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_GetInputParameterInfo [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetRetCodeInfo [F:\talib\build\talib.vcxproj]
talib.obj : error LNK2001: unresolved external symbol TA_SetInputParamPricePtr [F:\talib\build\talib.vcxproj]
F:\talib\build\Release\talib.node : fatal error LNK1120: 22 unresolved externals [F:\talib\build\talib.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe
failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Users\Freefall\AppData\Roaming\npm\node_modules\node-gyp\lib\build.js:285:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:194:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command "E:\Program Files\nodejs\node.exe" "C:\Users\Freefall\AppData\Roaming\npm\node_modules\node-gyp\bin\node-gyp.js" "build"
gyp ERR! cwd F:\talib
gyp ERR! node -v v7.8.0
gyp ERR! node-gyp -v v3.6.0
gyp ERR! not ok
Any ideas? I'm lost.
Sorry guys, it's been 3 years since I was into compiling this. I've updated original link to makefiles in my previous post, and that's all I can do. I have neither Win10 nor time to figure this out again.
Thank you, will try and get it working.
An idea of when will be available TA-Lib for windows 32/64 bits?
Currently I get this message during installation :
$ npm install talib
npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for talib@1.0.3: wanted {"os":"darwin,linux","arch":"any"} (current: {"os":"win32","arch":"ia32"})
npm ERR! notsup Valid OS: darwin,linux
npm ERR! notsup Valid Arch: any
npm ERR! notsup Actual OS: win32
npm ERR! notsup Actual Arch: ia32
This works on Windows for me
Why Aerius42/node-talib works on Windows and not oransel/node-talib? Some update for oransel/node-talib?
I can pull if someone can make a pull request. If not, I'll need to dedicate time to it to diff.
please use latest version