12-07-2010 12:22 PM
I'm using some example code to generate a once per second pulse but am receiving the following errors when trying to compile:
Undefined symbol '_RegisterWinMsgCallback@24' referenced in "dataacq.lib".
Undefined symbol '_UnRegisterWinMsgCallback@4' referenced in "dataacq.lib".
Undefined symbol '_GetCVIWindowHandle@0' referenced in "dataacq.lib".
Some files that the example includes are:
NIDAQEX.C
NIDAQEX.H
Thanks in advance for your help.
J
Solved! Go to Solution.
12-07-2010 01:39 PM
J:
It looks like you're missing an include file or a library file in your project.
Are you running an example project provided with CVI, or did you cut and paste from an example into your project?
12-07-2010 01:53 PM
Here is a paste of the readme file:
===========================================================================
List of files contained in this ZIP file
===========================================================================
* NIDAQEX.C
* NIDAQEX.H
* 8253generateSinglePulse.c
* 8253generateSinglePulse.prj --> NOTE: After unzipping, run this program.
===========================================================================
Note: This ZIP file only contains the example code and auxiliary files
themselves, and does not contain necessary drivers nor standard
distribution libraries. Please make sure the standard distribution
libraries are already on your system before running these examples.
===========================================================================
List generated on 02-05-2000 at 13:36:17
===========================================================================
What I did was add the NIDAQEX files to my project and copied the contect of the other *.c file into my rtmain function. There were also a handfull of other errors (HitKey for example) that I commented out of the NIDAQEX.C file to get as far as I did. Note that I received the errors mentioned earlier before I commented anything and that there seems to be a lot of Windows based functions. Is there a separate RT library that I'm not finding for some reason? When I compiled my application, it asked to automatically include the dataacq.h header.
Thanks for your reply.
J
12-07-2010 02:15 PM
J:
CVI ships with an example project 8253generateSinglePulse. Based on your message, it looks like you donwloaded a .zip file of this project and tried to compile that.
Open the project C:\Program Files\National Instruments\CVI90\samples\daq\Ctr\8253generateSinglePulse.PRJ and try to build that. It built for me with no problem on my desktop machine.
12-07-2010 04:34 PM
You're right about the zip. I tried the project you recommended and it build fine. I had some device issues that prevented the pulse from being written, but the project built without any of the error messages I mentioned.
The problem is that I had to boot into Windows to get it to work. When I boot into the RT OS adn I use the supporting *.c and *.h and copy the main function into my RT application, I get the exact same error. I tried a different example based on the ANSI C text based code support and again got the same errors, all of which stem from the dataacq library (and some from the *.c "HitKey" for example).
I have the Real-Time module, but could it be that I haven't copied all the needed software to my remote system. Also note that I'm using the RT Hypervisor Controller.
Thanks,
J
12-08-2010 07:08 AM
One additional note:
I can include dataacq.h in my RT application code and it compiles fine. I begin seeing errors when I add the CVI function from the Traditional DAQ library, ICTR_Setup().
12-08-2010 09:04 AM
Just a guess, as I have no experience on CVI RT. The functions you listed here are all windows-related: are you sure they are supported in the RT OS?
12-08-2010 09:12 AM
I just logged on to let you all know, your last post is spot on. I created an application using the DAQmx functions and everything seems to be working. Thanks for getting me heading in the right direction.