LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Impossible to build a working EXE in 2023 Q3 if matrix functions are used

Solved!
Go to solution

Hello,

 

In the LabVIEW 2023 Q3 is impossible to build a working EXE file when the matrix VI's are in use.

I.e. I can build an EXE, but I can't run it, because it starts searching for the control "NI_Matrix.lvlib:RealMatrix.ctl".

The original VI is fully functional, as well as an EXE built in the LabVIEW 2022 Q3.

 

What was done:

  • Minimal example created (in the attachment for LV 2023, 2022, 2018 + build options),
  • Tested the compiled code in the LabVIEW 2022 Q3 - no problems,
  • Tested the compiled code in the LabVIEW 2023 Q3 - nothing works,
  • Build caches were cleared,
  • Mass compile was performed without errors,
  • Build log was checked - no errors,
  • Computer rebooted.

Nothing helped. For me it looks like some sort of a bug in the Builder.

 

Any ideas?

 

P.S. My system: Windows 10 Pro x64, LabVIEW 2023 Q3, Runtime is installed.

Message 1 of 16
(2,655 Views)

I've made some additional research and it looks like the issue is with that setting:

Build options marked.png

  • If if remove this tickmark, I will get a working, but extremely bloated EXE for the minimal example...
  • ...but not for the larger project, which immediately started showing the infamous build Error 7 due to a file and function which is not even in use in that larger project.

 

Interestingly, that this "Remove unused members of project libraries" is a default setting for this parameter. And it seems when the tickmark is selected LabVIEW removes the "NI_Matrix.lvlib:RealMatrix.ctl" from the build due to some bug.

 

Added later:

Even more interesting, that the builder automatically includes "IMAQVision.chm" into the build of my large progect, despite that fact that no Vision functions are used in the project. While not including the matrix library.

0 Kudos
Message 2 of 16
(2,647 Views)
Solution
Accepted by topic author D_mitriy

I'd expect the disconnect type definitions to have something to do with it.

 

If that option is on, the matrix ctl is probably removed, unless you don't remove the unused library items?

 

If so, you might be able to include the control to the always include list, and have both options tagged off.

 

Of course, it looks like regression and should be looked into by NI...

 

You might want to post some .lvproj too (or zips with complete examples). It's easy enough to replicate, but every bit could help...

Message 3 of 16
(2,556 Views)

Thank you very much, your guess was right - with that (below) build configuration EXE worked. In exchange of +13 MB size of EXE and unknown performance implications. Plus, that strange "IMAQVision.chm"... So yes, for me looks like a clear regression.

D_mitriy_0-1694425256783.png

 

P.S. Test project ZIP in the attachment as suggested.

 

 

Message 4 of 16
(2,540 Views)

I have filed Bug 2519886 to LabVIEW R&D about the Matrix typedef issue with a built EXE in LabVIEW 2023 Q3.

Message 5 of 16
(2,409 Views)

Thank you. I also did that with the help of the NI support, so, now the same bug is reported at least twice - your report under #2519886 and my under #2519019. 🙂

0 Kudos
Message 6 of 16
(2,365 Views)

@D_mitriy wrote:

Thank you. I also did that with the help of the NI support, so, now the same bug is reported at least twice - your report under #2519886 and my under #2519019. 🙂


Ah, thanks, I didn't realize a Bug had already been filed. I closed mine as a duplicate.

0 Kudos
Message 7 of 16
(2,334 Views)

So most of our application is using some matrix VIs
Especially this one:

MikaelH_0-1696473815283.png


So I had to use the Checkbox roulette option above to get solve the matrix issue.
But then I'm running into other other issues, either this:

MikaelH_1-1696473909719.png


VI not in memory are you kidding me.
We managed to get some builds through with these options:

MikaelH_2-1696474038631.png


But when we're running them a VI that we start with VI server is now broken.
Not even enabling the debugging is solving that issue 😞
I guess we just have to keep playing checkbox roulette

0 Kudos
Message 8 of 16
(2,112 Views)
Solution
Accepted by topic author D_mitriy

Okay, we've finally managed to build our applications in LV2023Q3, the strange thing is that I has to include a class in "Always Included" for it not to break in 2023.

MikaelH_1-1696505637647.png


This is a dot net library that allows us to embeds MS's WebView2, this makes it possible for us to use this Web Browser as part of our UI.
Like here:

MikaelH_0-1696505530613.png


Because we can't live without some matrix CSS animation in the UI.

Message 9 of 16
(2,091 Views)

Thank you, MikaelH!

0 Kudos
Message 10 of 16
(1,874 Views)