Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.236.100.210] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
nsh, подскажите, пожалуйста, как pocketsphinx для node.js установить. Никак не получается.
Установил через npm "node-gyp", скопировал туда binding.gyp файл, запускаю node-gyp --python=python2.7 configure Выдает ошибку, что-то про pkg-config (как пользоваться данной программой, не могу понять). Оч. надеюсь на помощь! Эта тема была разделена из темы "Работа с CMU Sphinx" |
Сообщ.
#2
,
|
|
|
Для чего в папке "pocketsphinx" и "sphinxbase" файлы *.pc.in, при компиляции этих проектов не создаются файлы *.pc. Делаю все из под Windows.
Я так понимаю при компиляции, должна создаваться директория "lib/pkgconfig", но её нет. |
Сообщ.
#3
,
|
|
|
По Windows сборка пока не поддерживается, pkg-config работает только в Linux. Можно использовать Linux или необходимо изменить binding.gyp, чтобы прописать необходимые пути и библиотеки без pkg-config.
|
Сообщ.
#4
,
|
|
|
Николай, а что содержат переменные: --cflags, --libs в binding.gyp?
|
Сообщ.
#5
,
|
|
|
--libs это библиотеки, в вашем случае это pocketsphinx.lib и sphinxbase.lib. Нужно прописать полный путь:
libraries': [ '-l<(pocketsphinx_root)/bin/Release/libpocketsphinx.lib', ], --cflags это путь к заголовочным файлом, что-то вроде 'include_dirs': [ '<(pocketsphinx_root)/include', ], --datadir это путь к swig файлам (.i) расширение. Для сборки нужно установить последний swig (3.0.7). |
Сообщ.
#6
,
|
|
|
К сожалению пока с ошибками.
wrap_sb.cpp не может подключить cmd_ln.h Прикреплённый файлbinding.gyp (1,84 Кбайт, скачиваний: 248) |
Сообщ.
#7
,
|
|
|
Переменная с указанием пути поиска должна называться include_dirs, в linux cflags. Если правильно указать путь, заголовочный файл найдётся.
|
Сообщ.
#8
,
|
|
|
Точно, спасибо. Столкнулся с очередными ошибками
Уже посещает мысль установить linux, но все-же пока не сдаюсь. Надеюсь на очередную помощь! После того, как исправил на "include_dirs", выдало следующую ошибку: Скопировал файл "sphinx_config.h" из "include/win32" в "include", запустил: . Может через Visual Studio компилирую не так? Через VC 2012 делаю: |
Сообщ.
#9
,
|
|
|
Цитата Скопировал файл "sphinx_config.h" из "include/win32" в "include", запустил: Лучше include/win32 было в include_dirs добавить. По поводу ошибок, Вам нужно выложить файлы sb.cpp и ps.cpp, не очень понятно что там происходит. Убедитесь, что используете последнюю версию с github, а не более старую версию. Добавлено Нужно отучаться постить ошибки в картинках, текст вывода можно написать как текст. Так его легче искать и читать тоже. |
Сообщ.
#10
,
|
|
|
Выкладываю sb.cpp файл, а ps.cpp не успел скомпилироваться.
sb.cpp По поводу скринов, понял, не повторится. |
Сообщ.
#11
,
|
|
|
Из sb.cpp видно, что Вы используете старую версию.
Нужно скачать zip с github https://github.com/cmusphinx/sphinxbase, кнопка "Download ZIP". |
Сообщ.
#12
,
|
|
|
Скомпилировал последнюю версию, предыдущая ошибка пропала, но появилась туча новых и с непонятной мне кодировкой. Пробовал кодировку менять через "chcp" 65001, 1251, 866, не помогает.
Скрин 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=Debug;Platform=x64' ] Сборка проектов в этом решении по одному. Чтобы включить параллельную сборку, добавьте параметр "/m". Creating sphinxbase wrapper wrap_sb.cpp c:\program files\nodejs\node_modules\npm\bin\node-gyp-bin\sb.cpp(1201): warning C4311: приведение типов: усечение указа теля из "void *" в "long" [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] c:\program files\nodejs\node_modules\npm\bin\node-gyp-bin\sb.cpp(1201): warning C4302: приведение типов: усечение из "v oid *" в "long" [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] c:\program files\nodejs\node_modules\npm\bin\node-gyp-bin\sb.cpp(1539): warning C4267: аргумент: преобразование из "siz e_t" в "int"; возможна потеря данных [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxpro j] c:\program files\nodejs\node_modules\npm\bin\node-gyp-bin\sb.cpp(1652): warning C4244: =: преобразование "int64_t" в "i nt", возможна потеря данных [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] c:\program files\nodejs\node_modules\npm\bin\node-gyp-bin\sb.cpp(1715): warning C4267: аргумент: преобразование из "siz e_t" в "int"; возможна потеря данных [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxpro j] c:\program files\nodejs\node_modules\npm\bin\node-gyp-bin\sb.cpp(1843): warning C4244: аргумент: преобразование "int32" в "float32", возможна потеря данных [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxpro j] c:\program files\nodejs\node_modules\npm\bin\node-gyp-bin\sb.cpp(1895): warning C4267: аргумент: преобразование из "siz e_t" в "int32"; возможна потеря данных [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxp roj] win_delay_load_hook.c ╤ючфрхЄё сшсышюЄхър C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\Debug\SphinxBase.lib ш юс·хъЄ C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\Debug\SphinxBase.exp wrap_sb.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp_cmd_ln_free_r т ЇєэъЎшш "void __cdecl delete_ Config(struct cmd_ln_s *)" (?delete_Config@@YAXPEAUcmd_ln_s@@@Z) [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp -bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp_cmd_ln_str_r т ЇєэъЎшш "char const * __cdecl Config_get_string(struct cmd_ln_s *,char const *)" (?Config_get_string@@YAPEBDPEAUcmd_ln_s@@PEBD@Z) [C:\Program Files\n odejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp_cmd_ln_int_r т ЇєэъЎшш "bool __cdecl Config_g et_boolean(struct cmd_ln_s *,char const *)" (?Config_get_boolean@@YA_NPEAUcmd_ln_s@@PEBD@Z) [C:\Program Files\nodejs\no de_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp_cmd_ln_float_r т ЇєэъЎшш "double __cdecl Conf ig_get_float(struct cmd_ln_s *,char const *)" (?Config_get_float@@YANPEAUcmd_ln_s@@PEBD@Z) [C:\Program Files\nodejs\nod e_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp_cmd_ln_set_str_r т ЇєэъЎшш "void __cdecl Conf ig_set_string(struct cmd_ln_s *,char const *,char const *)" (?Config_set_string@@YAXPEAUcmd_ln_s@@PEBD1@Z) [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp_cmd_ln_set_str_extra_r т ЇєэъЎшш "void __cdec l Config_set_string_extra(struct cmd_ln_s *,char const *,char const *)" (?Config_set_string_extra@@YAXPEAUcmd_ln_s@@PEB D1@Z) [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp_cmd_ln_set_int_r т ЇєэъЎшш "void __cdecl Conf ig_set_boolean(struct cmd_ln_s *,char const *,bool)" (?Config_set_boolean@@YAXPEAUcmd_ln_s@@PEBD_N@Z) [C:\Program Files \nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp_cmd_ln_set_float_r т ЇєэъЎшш "void __cdecl Co Добавлено эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы - неразрешенный внешний символ, что еще за ошибка... |
Сообщ.
#13
,
|
|
|
Это если VS 2015 использовать, а если 2012 использовать, то пишет что не найден stdbool.h файл.
|
Сообщ.
#14
,
|
|
|
stdbool.h можно свой создать, эта тема широко обсуждается в интернете.
А по поводу __imp, идёт сборка с dll символами по умолчанию, подробности в pocketsphinx_exports.h и sphinxbase_exports.h. Можно отредактировать эти файлы, чтобы не использовалось dllimport или попробовать определить define в binging.gyp: defines: ['SPHINXBASE_EXPORTS'] defines: ['POCKETSPHINX_EXPORTS'] если не поможет: defines: ['__MINGW32__'] тогда dllspec не будет применяться. |
Сообщ.
#15
,
|
|
|
Пробовал константы определять, редактировал binging.gyp и sphinxbase_exports.h, ничего не помогает.
Ошибка LNK2001: неразрешенный внешний символ __cdecl fsd_model_add_silence (и др. функции) Скрин win_delay_load_hook.c ╤ючфрхЄё сшсышюЄхър C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\Release\SphinxBase.lib ш юс·хъЄ C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\Release\Sp hinxBase.exp wrap_sb.obj : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы ""int __cdecl fsg_model_add_silence(struct fsg_model_s *,char const *,int,float)" (?fsg_model_add_silence@@YAHPEAUfsg_model_s@@PEBDHM@Z)" [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы ""int __cdecl fsg_model_tag_trans_add(struct fsg_model_s *,int,int,int,int)" (?fsg_model_tag_trans_add@@YAHPEAUfsg_model_s@@HHHH@Z)" [C:\P rogram Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы ""int __cdecl fsg_model_word_id(struct fsg_model_s *,char const *)" (?fsg_model_word_id@@YAHPEAUfsg_model_s@@PEBD@Z)" [C:\Program Files\no dejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы ""struct fsg_model_s * __cdecl fsg_model_readfile(char const *,struct logmath_s *,float)" (?fsg_model_readfile@@YAPEAUfsg_model_s@@PEBDPEA Ulogmath_s@@M@Z)" [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы ""int __cdecl fsg_model_free(struct fsg_model_s *)" (?fsg_model_free@@YAHPEAUfsg_model_s@@@Z)" [C:\Program Files\nodejs\node_modules\npm\b in\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы ""int __cdecl fsg_model_add_alt(struct fsg_model_s *,char const *,char const *)" (?fsg_model_add_alt@@YAHPEAUfsg_model_s@@PEBD1@Z)" [C:\Pr ogram Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы ""void __cdecl fsg_model_trans_add(struct fsg_model_s *,int,int,int,int)" (?fsg_model_trans_add@@YAXPEAUfsg_model_s@@HHHH@Z)" [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы ""struct fsg_model_s * __cdecl fsg_model_init(char const *,struct logmath_s *,float,int)" (?fsg_model_init@@YAPEAUfsg_model_s@@PEBDPEAUlog math_s@@MH@Z)" [C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы ""int __cdecl fsg_model_null_trans_add(struct fsg_model_s *,int,int,int)" (?fsg_model_null_trans_add@@YAHPEAUfsg_model_s@@HHH@Z)" [C:\Prog ram Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы ""int __cdecl fsg_model_word_add(struct fsg_model_s *,char const *)" (?fsg_model_word_add@@YAHPEAUfsg_model_s@@PEBD@Z)" [C:\Program Files\ nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] wrap_sb.obj : error LNK2001: эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы ""void __cdecl fsg_model_writefile(struct fsg_model_s *,char const *)" (?fsg_model_writefile@@YAXPEAUfsg_model_s@@PEBD@Z)" [C:\Program Fil es\nodejs\node_modules\npm\bin\node-gyp-bin\build\SphinxBase.vcxproj] C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\build\Release\SphinxBase.node : fatal error LNK1120: эхЁрчЁх°хээ√ї тэх°эшї ¤ыхьхэЄют: 11 [C:\Program Files\nodejs\node_modules\npm\bin\nod e-gyp-bin\build\SphinxBase.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:\Program Files\nodejs\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 Windows_NT 10.0.10240 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "--python=python2.7" "rebuild" gyp ERR! cwd C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin gyp ERR! node -v v5.4.0 gyp ERR! node-gyp -v v3.0.3 gyp ERR! not ok |