在 .def 文件中使用 DATA 的定义未解析的外部符号

Unresolved External Symbol for definitions with DATA in .def file

本文关键字:定义 符号 外部 DATA 文件 def      更新时间:2023-10-16

我正在尝试在VC++项目中使用ffmpeg库。我添加了所有 lib 文件和标头,并为编译器/链接器设置了属性,包括外部的 .def 文件。所有的库/标头/定义都直接来自ffmpeg windows 64位版本。毕竟我收到以下错误:

1>exports.def : error LNK2001: unresolved external symbol pp_help
1>exports.def : error LNK2001: unresolved external symbol swr_ffversion
1>exports.def : error LNK2001: unresolved external symbol sws_context_class

所有失败的定义后面都有一个 DATA 关键字。总共有 37 个,并且都有 DATA 关键字。

我是VS编译器/链接器的新手,我可能只是错过了一些东西。任何指示将不胜感激。

为什么要在导出中定义它们?只有在导出链接时,才需要使用 exports.def。例如,如果您开发自己的库。

在这里,您无需在导出中指定它。您需要正确链接库并包含标头。

出现错误是因为链接器找不到导出的函数定义。它认为您已在某处声明并实现了这些功能。