0

我无法解决链接器错误

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

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

这是对电源的适应。这种适应有几个依赖关系。

76 个符号无法链接。8 在 ivi.h 中定义 76 在 vi​​sa.h 中定义

依赖和错误

我的机器上的文件夹中都有它们的 lib 文件:

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

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

VS2010-文件夹

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

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
4

1 回答 1

0

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

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

这在此stackoverflow 帖子中进行了说明。

于 2013-11-08T12:25:28.793 回答