Как создать полноценное приложение *.exe

Создание приложений, библиотек, инсталляторов

Re: Как создать полноценное приложение *.exe

Postby toshas on 24 Mar 2020, 16:45

Похоже рано радовался.

При попытке создать приложение без GUI (для запуска на Ubuntu Server) по инструкции
https://knowledge.ni.com/KnowledgeArtic ... 0019RYlSAM
Running a LabVIEW Application on Linux Without a Graphical User Interface
Приложение работает через другой lvrt - lvrtdark.

Сначала были проблемы с отсутствием liblvrtdark.so.14.0
Программа не видит его рядом с собой, пришлось сделать ссылку.
Потом докинул рядом libniCPULib.so
А вот что делать этим непонятно:

Error Message =Internal Warning 0x08B1734C : "lvinit.cpp", line 2149
LabVIEW version 14.0
For assistance in resolving this problem, please contact National Instruments Support.


user@ubuntu:~/Desktop/My Shared Library$ ./TEST
./TEST: error while loading shared libraries: liblvrtdark.so.14.0: cannot open shared object file: No such file or directory
user@ubuntu:~/Desktop/My Shared Library$ sudo ln -s /home/user/Desktop/My\ Shared\ Library/liblvrtdark.so.14.0.0 /usr/lib/liblvrtdark.so.14.0
user@ubuntu:~/Desktop/My Shared Library$ ./TEST
Unable to load libniCPULib.so from /home/user/Desktop/My Shared Library/libniCPULib.soAborted (core dumped)
user@ubuntu:~/Desktop/My Shared Library$ ./TEST
Error Message =Internal Warning 0x08B1734C : "lvinit.cpp", line 2149
LabVIEW version 14.0
For assistance in resolving this problem, please contact National Instruments Support.
Aborted (core dumped)
user@ubuntu:~/Desktop/My Shared Library$
User avatar
toshas
junior
junior
 
Posts: 63
Joined: 05 Apr 2009, 22:45
LabVIEW Version: 9.0
Karma: 1

Re: Как создать полноценное приложение *.exe

Postby dadreamer on 24 Mar 2020, 20:38

Толком, к сожалению, нет времени посмотреть, в чём беда, т.к. Linux у меня только дома на виртуалке. Кстати, я даже не в курсе был, что такое возможно. Век живи, век учись, дураком помрёшь. :D
Сегодня успел только скомпилить согласно мануалу. Надо сносить LVRT, чтобы протестировать, или делать новый снапшот системы. Может быть, этот тред поможет: https://unix.stackexchange.com/question ... s-when-run
ldd показывает стандартные либы, но через /proc/<pid>/maps уже поинтереснее:
/lib/x86_64-linux-gnu/ld-2.30.so
/lib/x86_64-linux-gnu/libc-2.30.so
/lib/x86_64-linux-gnu/libdl-2.30.so
/lib/x86_64-linux-gnu/libgcc_s.so.1
/lib/x86_64-linux-gnu/libm-2.30.so
/lib/x86_64-linux-gnu/libnsl-2.30.so
/lib/x86_64-linux-gnu/libnss_compat-2.30.so
/lib/x86_64-linux-gnu/libnss_files-2.30.so
/lib/x86_64-linux-gnu/libnss_nis-2.30.so
/lib/x86_64-linux-gnu/libpthread-2.30.so
/lib/x86_64-linux-gnu/librt-2.30.so
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28
/usr/local/lib64/LabVIEW-2018-64/liblkdynam.so.5.10.0
/usr/local/lib64/LabVIEW-2018-64/liblksec.so.5.10.0
/usr/local/lib64/LabVIEW-2018-64/liblksock.so.5.10.0
/usr/local/lib64/LabVIEW-2018-64/liblvrtdark.so.18.0.0
/usr/local/lib64/LabVIEW-2018-64/libniCPULib.so.18.0.0
/usr/local/lib64/LabVIEW-2018-64/libNILVRuntimeManager.so.18.0.0

Попробуйте положить рядом с программой указанные библиотеки :labview: , для LV 2014 имена будут несколько отличаться.
User avatar
dadreamer
professor
professor
 
Posts: 3438
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 859
I/O VIP vision internet

Re: Как создать полноценное приложение *.exe

Postby ujin on 24 Mar 2020, 21:01

user@ubuntu:

Согласно описанию Labview Linux встает только на ветку Red Hat. Из бесплатного это Centos (пробовал на 7).
По ссылке не указаны некоторые важные вещи. Например что нужно заголовочные файлы из cintools добавить в проект. Так же какой-то из заголовков у меня был поломаный. В NetBeans нашел и исправил.
Cintools на машину без иксов не ставится. Надо на develop машине искать.
Вы рекомендованный путь в виде ./INSTALL и рекомендованный линукс пробовали? Около 110 МБ полный runtime устанавливается.
Минимальный размер NAND FLASH на пром компьютерах с процессором Vortex86DX - 8 Гб (там проц 586. Встает только Centos 5 и Labview 10). Остальные больше.
Консольный Centos 7 около 600 МБ.
Получите личное удовлетворение от проделанной работы и не более.
ujin
beginner
beginner
 
Posts: 48
Joined: 28 Jul 2019, 13:16
LabVIEW Version: 19
Karma: 5

Re: Как создать полноценное приложение *.exe

Postby toshas on 24 Mar 2020, 22:31

Получилось победить.
В итоге рядом с программой надо положить:
liblvrtdark.so.14.0
libniCPULib.so
tdtable.tdr
rtapp.rsc

Как раз отсутствие последнего приводило к ошибке
Error Message =Internal Warning 0x08B1734C : "lvinit.cpp", line 2149
LabVIEW version 14.0
For assistance in resolving this problem, please contact National Instruments Support.

Неясно только почему программа по умолчанию лезет в /usr/lib и не видит что вокруг.
приходится создавать символическую ссылку на liblvrtdark.so.14.0 указывающую на него в папке программы.
Остальные файлы программа подтягивает уже по пути где нашелся liblvrtdark.so.14.0

И еще непонятно если бы на машине использовались и x32 и x64 программы, то как с поступать в этом случае, ссылка то общая будет
User avatar
toshas
junior
junior
 
Posts: 63
Joined: 05 Apr 2009, 22:45
LabVIEW Version: 9.0
Karma: 1

Re: Как создать полноценное приложение *.exe

Postby toshas on 24 Mar 2020, 22:37

[quote=="ujin"]
Например что нужно заголовочные файлы из cintools добавить в проект.[/quote]

Этого действительно в описании они не привели, похоже забыли.
Решается галкой "Include additional LabVIEW header files" в advanced настройках build specifications

Вообще эту инструкцию сделали в 2018, хотя на форуме NI способ известен с 2007 оказывается!
https://forums.ni.com/t5/LabVIEW/Runnin ... d-p/592242

Кстати существует еще вариант с виртуальным дисплеем на базе Xvnc
https://forums.ni.com/t5/LabVIEW/headle ... d-p/109696
User avatar
toshas
junior
junior
 
Posts: 63
Joined: 05 Apr 2009, 22:45
LabVIEW Version: 9.0
Karma: 1

Re: Как создать полноценное приложение *.exe

Postby ujin on 25 Mar 2020, 04:46

Решается галкой "Include additional LabVIEW header files" в advanced настройках build specifications

Спасибо. Так должно быть проще.
Еще с обработкой ошибок были вопросы. Если звук используется так же нужно добавлять библиотеки.
У меня не заработала VISA. Как выяснил на форумах работает только в определенной версии ядра в определенной сборке.
При обновлении ядра работать перестает.
Нужно большое приложение пробовать. Оно еще библиотеки потянет.
ujin
beginner
beginner
 
Posts: 48
Joined: 28 Jul 2019, 13:16
LabVIEW Version: 19
Karma: 5

Previous

Return to Создание приложений

Who is online

Users browsing this forum: No registered users and 3 guests

cron