библиотеку из Labview в проект QT с++

Обсуждение программ, пользовательского обеспечения, операционных систем
Ответить
Vibe
beginner
beginner
Сообщения: 13
Зарегистрирован: 29 сен 2015, 10:14
Версия LabVIEW: 14
Благодарил (а): 2 раза
Контактная информация:

библиотеку из Labview в проект QT с++

Сообщение Vibe »

Как к проекту Qt на с++ подключить математическую библиотеку из Labview?
В библиотеке реализована функция LV_Struve которой нет в других библиотеках.
библиотека C:\Program Files\National Instruments\LabVIEW 2024\resource\lvanlys.*
функция void LV_Struve(double x, double v, double *Struve(x, v));
Artem.spb

Activity Автор
professor
professor
Сообщения: 3635
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 61 раз
Поблагодарили: 198 раз
Контактная информация:

Re: библиотеку из Labview в проект QT с++

Сообщение Artem.spb »

Прям в с++ не делал, делал коллегам для работы с питоном.
В проекте в разделе build добавить .net/dll спецификацию и скомпилировать библиотеку.
Дальше её как обычную dll можно вызывать где угодно. Единственное отличие от "нормальных" dll - необходимость иметь runtime той версии, где компилировали библиотеку.
Вплоть до того, что можно иметь dll разных runtime-ов и вызывать их одновременно.

.net удобнее, потому что там вызов понятен, не нужно описывать входы-выходы, как в обычных dll
Аватара пользователя
dadreamer

Activity Professionalism Tutorials Gold Silver
Bronze Black Автор
professor
professor
Сообщения: 3996
Зарегистрирован: 17 фев 2013, 16:33
Награды: 9
Версия LabVIEW: 2.5 — 2025
Благодарил (а): 14 раз
Поблагодарили: 147 раз

Re: библиотеку из Labview в проект QT с++

Сообщение dadreamer »

Если использовать эту методику, то получится скомпилировать DLL без привязки к LV Runtime. Я сегодня проверил, функция Struve есть в CGen и без проблем компилируется. Только надо внимательно следить за разрядностью: если библиотека мат. анализа lv_analysis.lib собрана как 32 бита, то и пользовательская .dll подцепится только как 32 бита. Под x64 придётся пересобрать всё заново.
Vibe
beginner
beginner
Сообщения: 13
Зарегистрирован: 29 сен 2015, 10:14
Версия LabVIEW: 14
Благодарил (а): 2 раза
Контактная информация:

Re: библиотеку из Labview в проект QT с++

Сообщение Vibe »

LabVIEW C Generator Module где его скачать? Дайте ссылку пожалуйста.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1430
Зарегистрирован: 03 фев 2010, 00:42
Награды: 8
Версия LabVIEW: 6.1 - 2025
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 80 раз
Контактная информация:

Re: библиотеку из Labview в проект QT с++

Сообщение AndreyDmitriev »

Мне кажется, что из CVI её позаимствовать куда как проще чем из LabVIEW.
https://www.ni.com/docs/de-DE/bundle/la ... on-vi.html
Да и в LabVIEW там тоже вызов DLL наверняка, не должно быть особых проблем с тем, чтобы вызвать её напрямую.
Vibe
beginner
beginner
Сообщения: 13
Зарегистрирован: 29 сен 2015, 10:14
Версия LabVIEW: 14
Благодарил (а): 2 раза
Контактная информация:

Re: библиотеку из Labview в проект QT с++

Сообщение Vibe »

Да lvanlys.dll. Как к ней обратиться напрямую?
Аватара пользователя
dadreamer

Activity Professionalism Tutorials Gold Silver
Bronze Black Автор
professor
professor
Сообщения: 3996
Зарегистрирован: 17 фев 2013, 16:33
Награды: 9
Версия LabVIEW: 2.5 — 2025
Благодарил (а): 14 раз
Поблагодарили: 147 раз

Re: библиотеку из Labview в проект QT с++

Сообщение dadreamer »

Vibe писал(а): 07 дек 2025, 23:39LabVIEW C Generator Module где его скачать? Дайте ссылку пожалуйста.
https://download.ni.com/support/softlib ... erator.exe
Из РФ скорее всего только с VPN.
AndreyDmitriev писал(а): 08 дек 2025, 00:00Да и в LabVIEW там тоже вызов DLL наверняка, не должно быть особых проблем с тем, чтобы вызвать её напрямую.
Деталей не помню, но вроде как все библиотеки, которые :labview: вызывает, так или иначе привязаны к RTE, если он не установлен, вылезет заглушка, а функция не вызовется. Если для lvanlys.dll это не верно, то буду рад ошибиться. :)
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1430
Зарегистрирован: 03 фев 2010, 00:42
Награды: 8
Версия LabVIEW: 6.1 - 2025
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 80 раз
Контактная информация:

Re: библиотеку из Labview в проект QT с++

Сообщение AndreyDmitriev »

dadreamer писал(а): 08 дек 2025, 00:31Если для lvanlys.dll это не верно, то буду рад ошибиться. :)
Не, там вроде нет зависимостей кроме как от LV200000_BLASLAPACK.dll.
Я попробовал что на Расте что в Студии, и на гитхаб код закинул, вроде работает что так что сяк:
https://github.com/AndrDm/anlys-test
Vibe
beginner
beginner
Сообщения: 13
Зарегистрирован: 29 сен 2015, 10:14
Версия LabVIEW: 14
Благодарил (а): 2 раза
Контактная информация:

Re: библиотеку из Labview в проект QT с++

Сообщение Vibe »

Андрей спасибо!
LV200000_BLASLAPACK.dll как подключать к проекту, что это за библиотека?
сборка в qt creatore
их две находятся
c:\Program Files\National Instruments\Shared\MKL\LV200000_BLASLAPACK\LV200000_BLASLAPACK.dll
c:\Program Files (x86)\National Instruments\Shared\MKL\LV200000_BLASLAPACK\LV200000_BLASLAPACK.dll

Остальные библиотеки из палитры математика так же можно использовать?
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1430
Зарегистрирован: 03 фев 2010, 00:42
Награды: 8
Версия LabVIEW: 6.1 - 2025
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 80 раз
Контактная информация:

Re: библиотеку из Labview в проект QT с++

Сообщение AndreyDmitriev »

Vibe писал(а): 21 дек 2025, 15:51 Андрей спасибо!
LV200000_BLASLAPACK.dll как подключать к проекту, что это за библиотека?
сборка в qt creatore
их две находятся
c:\Program Files\National Instruments\Shared\MKL\LV200000_BLASLAPACK\LV200000_BLASLAPACK.dll
c:\Program Files (x86)\National Instruments\Shared\MKL\LV200000_BLASLAPACK\LV200000_BLASLAPACK.dll

Остальные библиотеки из палитры математика так же можно использовать?
Это просто зависимая библиотека, её к проекту подключать не надо, а надо просто положить рядом с lvanlys.dll. При этом надо учеть битность и взять правильную - та, что в Program Files (x86) - это 32 бит, а другая - 64. Остальные библиотеки тоже можно попробовать, но некоторые могут быть привязаны к LabVIEW RTE, тода по-простому может не получиться.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Софт»