LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Is there a guide for converting Windows applications to UNIX

Specifically, Solaris - Basic concerns being compiler usage (flags) and DLL conversions.
0 Kudos
Message 1 of 5
(3,425 Views)
When I have done conversions between Windows and UNIX, there are times I've had to convert some calls from Windows SDK calls to UNIX specific calls. I wrap these around
#ifdef _WINDOWS_
// windows specific calls: eg. CreateThread()
#else
#ifdef _UNIX_
// unix version: eg. CreateTask()
#endif
#endif
The compiler directive _WINDOWS_ is defined under , but I'm not sure about _UNIX_. I see _NI_unix_ in many of the CVI drivers and H-files, but I don't know how portable it is to Solaris.

I convert DLL's into static-library files. I don't believe UNIX has dynamic-libraries.
0 Kudos
Message 2 of 5
(3,425 Views)
Hi L3TE,

In addition to Windows SDK calls, you also will have to be careful to not use the ActiveX, DDE, and DataSocket libraries, as they are OS-specific as well.

Here is a link explaining how to compile CINs and Shared Libraries on Solaris machines using gcc.

Hope this helps! Good Luck!

Jeremy L.
National Instruments
Jeremy L.
National Instruments
0 Kudos
Message 3 of 5
(3,425 Views)
Hi Jeremy,

Thanks for your answer.
A couple of other items:
1) Porting of panels, menus, etc. These did not "port" over directly (mostly problems with fonts and so on). Is there an easy way to convert these over?
2) The CVI application under Windows uses the Windows Help system; what would be the easiest way of converting over to CVI under Solaris?

Thanks.
0 Kudos
Message 4 of 5
(3,425 Views)
Hi L3TE,

Unfortunately, there's not an easy way to port these panels over. Most likely you will have to recreate the .uir under Solaris environment. Also, the help system in Solaris is completely different than the Windows system. We currently do not have any support or workarounds for this.

On another note, National Instruments has discontinued support for CVI 5.0, which is the last version that works for Solaris systems. Any information or inconsistencies found in CVI for Solaris can be found on the support page, but there will be no new information provided by NI.

Jeremy L.
National Instruments
Jeremy L.
National Instruments
0 Kudos
Message 5 of 5
(3,425 Views)