Showing results for 
Search instead for 
Did you mean: 

error: Undefined symbol DiscardAsyncTimer in *.obj

Go to solution

error: Undefined symbol DiscardAsyncTimer in *.obj

This picture describes my problem:


As suggested in "Linker error: Undefined symbol CRC referenced in .obj"

1. I have included the file asynctmr.h from CVI2013\toolslib\toolbox

2. You can verify that the *.h contains the function definition.

3. But still, building the project gives the error undefined symbol.

4. I tried browsing my *.prj, and indeed within my functions I do not see DiscardAsyncTimer. Why?

0 Kudos
Message 1 of 4

Re: error: Undefined symbol DiscardAsyncTimer in *.obj

Adding the function panel  (asynctmr.fp)  to your project  doesn't help ?

Message 2 of 4
Accepted by topic author mcespedes
06-20-2017 08:44 AM

Rif.: error: Undefined symbol DiscardAsyncTimer in *.obj

There are actually two ways to add an instrument (i.e. a .fp object) to a CVI project:

  1. Load the instrument into Instrument menu (Instrument >> Load... menu function)
  2. Insert the instrument in the Library tree (Library >> Customize... menu function)

Both permit to use instrument functions taking care of compile and link with the only precaution to #include the proper file in the source modules where you are using them (but the IDE will warn you and add the files by itself in the correct place).

In the first case, adding the .fp to the project too shortens CVI load time since some compiling is no more needed for instrument functions.

The second option is preferrable in my opinion for instruments you plan to use extensively in all of your projects since you do no more need to manually add those modules to every new project you start.

Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
If I have helped you, why not giving me a kudos?
Message 3 of 4

Rif.: error: Undefined symbol DiscardAsyncTimer in *.obj

I tried the 2nd approach and it works to remove the link error. Thanks.

0 Kudos
Message 4 of 4