Visual Studio Compiler setting for my library using PicoScope 3403D p3000a.dll

Post general discussions on using our drivers to write your own software here
Post Reply
Inka
Newbie
Posts: 0
Joined: Tue Apr 16, 2019 3:07 am

Visual Studio Compiler setting for my library using PicoScope 3403D p3000a.dll

Post by Inka » Tue Apr 16, 2019 3:30 am

Hi,

I am building my own library based on ps3000a.dll, PicoIpp.dll.
I am writing wrapper functions which will in turn call APIs such as ps3000aSetDataBuffers, ps3000aSetTriggerChannelProperties, ... etc., from Picoscope library.

This library will be used by 32 bit MFC applications.

My question is, in Visual studio - Project Configuration setting, what is the expected Runtime library setting? (Configuration Properties --> C/C++ --> Code Generation --> RunTime Library - MT, MD, MTd, MDd, ML, MLd?)
What is the requirement expected by Picoscope library?

Development environment is VS2002, Win XP 32 bit.
Device used PicoScope 3403D.

Thanks
Ink

bennog
Advanced User
Advanced User
Posts: 50
Joined: Mon Nov 26, 2012 9:16 am
Location: Netherlands

Re: Visual Studio Compiler setting for my library using PicoScope 3403D p3000a.dll

Post by bennog » Tue Apr 16, 2019 6:44 am

MD for release build MDd for debug build.
I use 1 thread for reading the data from the DLL and another thread for processing / decoding the data.
In-between there is some sort of memory FIFO queue so any hickipus in the processing / decoding wont result in missing data from the scope.

P.S. I would opt for a more recent version of VS as pre VS2005 have strange bugs in them.


Benno

Inka
Newbie
Posts: 0
Joined: Tue Apr 16, 2019 3:07 am

Re: Visual Studio Compiler setting for my library using PicoScope 3403D p3000a.dll

Post by Inka » Tue Apr 16, 2019 7:32 am

Hi Benno,

Thanks for the response.
I am currently limited to use VS2002 due to legacy constraints.

Yes, as you mentioned, the setting for my MFC project is also /MD & /MDd.
I have seen strange run time errors / heap corruption issues when DLL is built with one setting (say static /MTd) & Application is built using different setting (dynamic /MDd).

So I want to know what is the recommended setting for Picoscope library (ps3000a.dll) by default so that I can set the same for my wrapper dll & MFC projects.

Please clarify if my understanding is incorrect.

Regards
Ink

Post Reply