1

当我尝试一个新的库时,我经常遇到这个问题。这次我使用 PointGrey Camera 并尝试使用它的 API 库(一些 dll、lib、头文件)。大多数情况下,通过配置 SDK(我正在使用 VS2008)工具/选项/VC++ 目录/包含文件(/库文件)(/可执行文件)解决了问题,
我还尝试了项目配置:+项目属性/链接器/输入/附加依赖项+项目属性/链接器/常规/附加库目录

这一次,尽管如此,我仍然有错误。

有没有解决这个问题的通用方法?

我需要从 VS2008 了解这个诊断吗?

Error   1   error LNK2019: unresolved external symbol __imp__flycaptureGetPacketInfo referenced in function "enum FlyCaptureError __cdecl initializeStandardEventSizes(void *,struct FlyCaptureImageEvent * const)" (?initializeStandardEventSizes@@YA?AW4FlyCaptureError@@PAXQAUFlyCaptureImageEvent@@@Z)  main_2.obj  test

使用 Dependencies Walker 等分析工具能否确保很好地解决这些问题?

4

2 回答 2

1

此消息表明您在代码中使用了符号(函数或变量)。该符号可能在某处声明(很可能在代码中包含的头文件中),否则会出现编译错误。当链接器搜索符号时(在您的目标文件和您指示它查看的 lib 文件中)它找不到它。

这通常是因为您忘记让链接器知道您希望它在其中搜索的库。

大多数库都附带一组指令,旨在帮助您正确设置所有内容并避免遇到这些问题。

于 2012-04-21T13:41:41.827 回答
0

这个问题最近已经解决了。我安装了PointGrey不兼容的库。这就是为什么它不起作用。但这说明了“不兼容的库”和“未解决的执行符号错误”之间的关系

于 2012-05-10T03:12:42.177 回答