From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

Using fstream in Vxworks C++ shared library

Hello

 

I am trying to create a .out shared library in C++ for use with the Labview 2015 Model Interface Toolkit

on a cRIO-9024 running Vxworks. 

 

I am using the gnu toolchain provided here http://ftp.ni.com/pub/devzone/tut/updated_vxworks63gccdist.zip in a Windows XP environment and compiling against the 2015 NIVeristand Model Framework.

 

The shared library is intended to read a set of parameters from a text file before executing its update step.

 

I can successfully create and run the library without the file reading component, however when I attempt to use the functions in fstream (specifically the ifstream object) the library builds and links apparently without errors but on deployment to the cRIO gives the error:

 

Model Interface Toolkit : Failed to load file model

 

My suspicion is that I am not linking against the correct libraries although attempting to link against libstdc++.a (which I believe is needed for fstream) makes no difference. I would like to ask

 

1. Does anyone have experience of a similar issue? Is it necessary to explicitly link against libstdc++.a?

2. Is there a way of obtaining more detail on the error than the 'Failed to load...' messsage? 

3. Is there a particular version of the Vxworks kernel required to use the file reading functionality? 

 

I have attached the makefile I am using .

 

Many thanks.

 

Nathan

0 Kudos
Message 1 of 3
(2,613 Views)

1) I've not seen this issue previously. There is some information about compiling models using the NI Veristand Model Framework here: http://zone.ni.com/reference/en-XX/help/374160C-01/vsmithelp/mit_shared_components/#Model_Framework

 

There is also a list of known issues here: http://www.ni.com/product-documentation/52677/en/

 

2) The only information about the message fail to load with model interface toolkit I can find is here: http://ae.natinst.com/public.nsf/webPreview/AB7C4E0338DB20E586257EB400720708?OpenDocument

 

3) As far as I know a .out should work on Vxworks, there is information on compatability here: http://zone.ni.com/reference/en-XX/help/372846G-01/veristand/model_support/

 

0 Kudos
Message 2 of 3
(2,568 Views)

Thanks for your reply. My suspicion is that the issue might be with the VxWorks Kernel configuration. In order to use the iostream class (which is needed for fstream) , the VxWorks Kernel configuration needs to include this functionality . I have not managed to figure out which configuration is installed by Labview .

0 Kudos
Message 3 of 3
(2,523 Views)