在Ansi-C VS2010项目中包含安捷伦驱动程序会导致错误LNK2001

时间:2013-11-05 17:52:54

标签: c visual-studio-2010 lnk2001

我无法解决链接器错误

我的项目包含在其中一个c文件中:

#include "../bin/AgN6700/agN6700.h"
#pragma comment(lib, "bin/AgN6700/agN6700.lib")

这是对电力供应的适应。 这种适应有几种依赖性。

76个符号无法链接。 8在ivi.h中定义 在visa.h中定义了76个

dependencies-and-errors

我的机器上的文件夹中有两个lib文件:

C:\Program Files (x86)\National Instruments\Shared\CVI\ExtLib\msvc

所以我将此文件夹添加到VS2010项目中的库entrie。

VS2010-Folder

这里出了什么问题?我该如何调查并解决这个问题?

LNK2001错误的完整列表:

agN6700.lib(agn6700.c) : error LNK2001: ... Symbol "...".

_viOpen@20
_viClose@4
_viSetAttribute@12
_viRead@16
_viSetBuf@12
_viPrintf
_viScanf
_viQueryf
_Ivi_DefaultCheckCallbackViInt32@16
_Ivi_DefaultCheckCallbackViReal64@20
_Ivi_SpecificDriverNew@12
_Ivi_Dispose@4
_Ivi_SetAttributeViInt32@20
_Ivi_SetAttributeViReal64@24
_Ivi_SetAttributeViString@20
_Ivi_SetAttributeViBoolean@20
_Ivi_SetAttributeViSession@20
_Ivi_SetAttributeViAddr@20
_Ivi_CheckAttributeViInt32@20
_Ivi_CheckAttributeViReal64@24
_Ivi_CheckAttributeViString@20
_Ivi_CheckAttributeViBoolean@20
_Ivi_CheckAttributeViSession@20
_Ivi_GetAttributeViInt32@20
_Ivi_GetAttributeViReal64@20
_Ivi_GetAttributeViString@24
_Ivi_GetAttributeViBoolean@20
_Ivi_GetAttributeViSession@20
_Ivi_GetAttributeViAddr@20
_Ivi_AddAttributeViInt32@32
_Ivi_AddAttributeViReal64@40
_Ivi_AddAttributeViString@28
_Ivi_AddAttributeViBoolean@28
_Ivi_AddAttributeViAddr@28
_Ivi_SetAttrReadCallbackViString@12
_Ivi_SetAttrCheckCallbackViInt32@12
_Ivi_SetAttrCheckCallbackViReal64@12
_Ivi_SetAttrCheckCallbackViBoolean@12
_Ivi_SetAttrCoerceCallbackViReal64@12
_Ivi_InvalidateAttribute@12
_Ivi_InvalidateAllAttributes@4
_Ivi_NeedToCheckStatus@4
_Ivi_SetNeedToCheckStatus@8
_Ivi_BuildChannelTable@16
_Ivi_CoerceChannelName@12
_Ivi_GetNthChannelString@12
_Ivi_SetErrorInfo@20
_Ivi_GetErrorInfo@16
_Ivi_ClearErrorInfo@4
_Ivi_ParamPositionError@4
_Ivi_LockSession@8
_Ivi_UnlockSession@8
_Ivi_IOSession@4
_Ivi_RangeChecking@4
_Ivi_QueryInstrStatus@4
_Ivi_Simulating@4
_Ivi_GetStringFromTable@12
_Ivi_GetValueFromTable@12
_Ivi_GetAttrRangeTable@16
_Ivi_GetViInt32EntryFromValue@32
_Ivi_GetViInt32EntryFromString@28
_Ivi_Alloc@12
_Ivi_Free@8
_Ivi_SetValInStringCallback@12
_Ivi_GetSpecificDriverStatusDesc@16
_Ivi_CompareWithPrecision@24
_Ivi_WriteInstrData@8
_Ivi_ReadInstrData@16
_Ivi_GetInfoFromResourceName@20
_Ivi_GetNextCoercionString@12
_Ivi_GetNextInterchangeCheckString@12
_Ivi_ResetInterchangeCheck@4
_Ivi_ClearInterchangeWarnings@4
_Ivi_GetAttributeFlags@12
_Ivi_SetAttributeFlags@12
_Ivi_ApplyDefaultSetup@4

1 个答案:

答案 0 :(得分:0)

似乎我误解了构建过程中如何包含lib文件。

解决方案是通过项目属性为链接器提供其他依赖项。

这可以在stackoverflow post中说明。