Jump to content

DLL interface problem


Recommended Posts

Dear LabVIEW fans

I have a problem building an exe file for a windows ce 5.0 system. I can build LabVIEW apps for my windows ce 5.0 device with the touchpanel module but I have problems integrating a dll with it.

The lib file is included.

It's targetted for an ARM processor

Code is developed in LV 2009 SP1 with Touchpanel module.

Very much thank you!

LaVAGQuestion.zip

Link to comment

Dear LabVIEW fans

I have a problem building an exe file for a windows ce 5.0 system. I can build LabVIEW apps for my windows ce 5.0 device with the touchpanel module but I have problems integrating a dll with it.

The lib file is included.

It's targetted for an ARM processor

Code is developed in LV 2009 SP1 with Touchpanel module.

Very much thank you!

TcAdsDll.dll is definitly an x86 shared library and as such not loadable on an ARM or RISC Windows CE system. A quick Hex Editor look at TcAdsDllCe.lib seems to show that it references the TcAdsDllCe.dll and as you can see that is different than the TcAdsDll.dll you have in that archive.

Also I'm not sure you do need the lib file at all when porting a LabVIEW library from your host system to an emebedded device. The normal opeation is to create a stub shared library for your host platform (Windows development machine) that has the same name and exports empty functions of all the functions you want to use in your embedded target LabVIEW application. Then you create Vis accessing this stub library through the Call Library Node.

In this particular case you may even be able to skip the creation of the stub shared library and simply rename the Windows TcAdsDll.dll to TcAdsDllCe.dll to create on your Windows system the VIs to deploy to your embedded target. You still will have to make sure to deploy the shared library to your target that is compatible with your target and not your renamed fake DLL. This renaming could however fail in some ways if the DLL internally has code that somehow relies on its own name.

Maybe you are going this in a completely different way that I'm not familiar with, such as the C inline node, but then you still will need to make sure you use the right shared library that matches your import library.

Link to comment

When I change everything to x86 system (still windows CE 5.0) everything is compiling and my emulator with windows CE shows me the expected result...

This is the error I get in my log:

Untitled_1.c

Generating Code...

Compiling...

_lvcepda80ARMtemp_.cpp

Generating Code...

Compiling...

lvCEPDAMain.c

Generating Code...

PDALib0.lib(TcAdsDllCe.DLL) : fatal error LNK1112: module machine type 'THUMB' conflicts with target machine type 'ARM'

Searching for it gives me the following link

http://social.msdn.microsoft.com/forums/en-US/windowsmobiledev/thread/34907fec-3ff2-453b-ad16-5a6de7e01169/

Any advice?

Link to comment

This is the error I get in my log:

Untitled_1.c

Generating Code...

Compiling...

_lvcepda80ARMtemp_.cpp

Generating Code...

Compiling...

lvCEPDAMain.c

Generating Code...

PDALib0.lib(TcAdsDllCe.DLL) : fatal error LNK1112: module machine type 'THUMB' conflicts with target machine type 'ARM'

Searching for it gives me the following link

http://social.msdn.m...6-5a6de7e01169/

Any advice?

Any chance when I edit C:\Program Files\National Instruments\LabVIEW 2009\PDA\Utilities script files?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.