Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Borland C++Builder Linker Error PCI-6561

I am trying to use a PCI-6561 HSDIO card.  Right now I'm just trying to get an example program to work. 
 
  The board has a 16-bit interface (the dataWidth = 2), so in order to write to the board I must use the niHSDIO_WriteNamedWaveformU16 function.  When I do, the Borland linker reports it as an unresolved external.  If I change it to niHSDIO_WriteNamedWaveformU32 the linker finds it, but the board, of course, responds with an error.
 
Has anyone else used the PCI-6561?
 
Is there some other library I should be linking?
 
Thanks,
Bob. 
0 Kudos
Message 1 of 5
(4,054 Views)
Hello Bob,

From the error that you are getting seems that the niHSDIO.lib file included in that version of the driver is outdated. The U16 functions were added in version 1.3 of the driver; looks like the Borland Lib file you have does not have those functions.

Using LabWindows/CVI I created a new Lib file for Borland that should work fine. I do not have a Borland compiler to test this, however I think this new file should fix the error.

Just replace the niHSDIO.lib file at C:\VXIPNP\WinNT\lib\bc with the one I am attaching and try to compile again. You may need to re-launch Borland; make sure you keep a copy of the original Lib file just in case.

Please give this a try and let me know how this goes.

Regards,

Juan Carlos
National Instruments
0 Kudos
Message 2 of 5
(4,046 Views)

Juan,

  I don't know if this makes a differance, but this isn't a PXI board.  It's a PCI board  in a PC.  I want to get the correct driver. 

  I did a search, and found drivers in \Program Files\IVI\Lib\bc and in \VXIPNP\WinNT\bc  Which should I use?  It would appear at first glance that the PXIPNP directory would be for the PXI bus, and so by default the IVI directory would be for the PCI bus, but I don't know.

Thanks,

Bob.

0 Kudos
Message 3 of 5
(4,038 Views)

Juan,

  I moved up the PXIPNP directory so that the linker links it first, and now the linker finds the niHSDIO_WriteNamedWaveform function, but now it can't find the niHSDIO_InitGenerationSession function.

Thanks,

Bob.

 

0 Kudos
Message 4 of 5
(4,037 Views)
Hi Bob,

You can actually use either of the 2 paths. We keep the VXIPNP path for compatibility. I checked the file that I attached previuosly and it does have the InitGeneration function.

One thing to try would be to remove the VXIPNP directory in your compiler, replace the niHSDIO.lib file in the IVI path with the one I attached, and compile again. Maybe the linking errors were cause by having 2 lib files with the same function.

Have a good weekend.

Juan Carlos
National Instruments
0 Kudos
Message 5 of 5
(4,027 Views)