11-17-2009 11:19 AM
After including an implicit call to a dll I created in LabVIEW, I get the following Project Link Error, Inconsistent type declarations for external symbol '_TheActiveMeasurementPath' in modules 'c:\Home\EChamberSystem\cvibuild.ECALsystem\EGunControlHandler.nidobj' and 'c:\Home\EChamberSystem\cvibuild.ECALsystem\AlarmsAndWarnings.nidobj'.
What does this mean?
Solved! Go to Solution.
11-17-2009 12:21 PM
I would have to see your LabVIEW code to know why you get the message. So I'm guessing that the way the function (VI - dll) is defined may be different that how you deined it in CVI (calling convention, parameter type, number of parameters/arguments). Compare them to see if everything is defined the same way.
R
11-17-2009 02:10 PM
11-17-2009 04:29 PM
06-14-2013 05:44 AM
Hi all,
I am unable to compile my CVI code in cvi 2009. The attached file shows the error. Please help me compiling the code. And I am trying to compile in debug mode this error throwed up but if I compile in release mode it does not.
Thanks,
VJK
06-14-2013 08:06 AM
Have you tried deleting the cvibuild directory and then rebuilding?
06-15-2013 12:58 AM
Yes I tried deleting the buid folder and then compiling. But still the link error persist. How can I debug the code?
06-17-2013 09:41 AM
Do you recognize the name of the function in the error message?
Is it defined in a .c file in your project or in an external .DLL?
Search for it through all .h and .c filers in your project. I'd start the search by looking for LineFile_ReadNonEmpty. Don't include the leading _, or the trailing @20. Don't search for Full Words Only. See if it shows up in more than one .h file or if the prototype is in a .h file and a .c file.
If it's in a DLL, are you linking it statically (including the .lib file in your project) or dynamically (calling LoadLibrary in your code)?
See the NI article here: http://www.ni.com/white-paper/8503/en/
If you're linking statically, make sure that your .h file matches the .lib file.
06-19-2013 08:05 AM
Al_S,
As you said I searched for LineFile_ReadNonEmpty in my project and it is declared in two files - .h and .c. So should I remove the declaration in one of the file and try ?. or Please suggest the best possible method to sort out the linking error.
Currently I dont have the pc which caused problem. Its a cleint PC.
Thanks.
06-19-2013 11:01 AM
Yes, your function prototype should be defined only in one place. Depending on your coding standards, some people like to have all function prototypes in .h files, other people have the prototype in the file in which you are calling the function if you are only calling it from one file. If you are calling the function from multiple files, it's usually better to have the prototype in a .h file and then #include that .h file in any .c file that calls the function.