【发布时间】:2012-08-04 20:14:46
【问题描述】:
我正在尝试使用 Visual Studio 2010 链接 C++ 中的静态库。麻烦的是,库(和随附的标头)中有很多 MFC 对象。我想在不重新编译我的项目以包含 MFC 或重新编译库以不使用 MFC 的情况下调用库的函数之一。 This codeproject 文章似乎暗示,如果我在项目中将函数定义为外部函数(使用“extern”关键字),这是可能的。
但是,我没有运气。无论我尝试什么,我都会收到未解决的外部符号错误。
文章是否正确?如果没有,这种联系是否可能以任何其他方式进行?
【问题讨论】:
-
函数默认有外部链接,所以
extern是多余的。你确定函数是从库中导出的吗?你确定他们有你期望的调用约定(即不是extern C)吗? -
@eli 您链接到的一篇长文章。您指的是哪种技术?
-
@quamrana 它大约下降了三分之一,在“拖放方法”下的第二段。没有标题的链接只是简单地提到。
-
@eli 我明白了。基本上你需要一个头文件和链接到提供的库。如果你没有官方头文件,你可以自己写,猜测函数签名。
标签: c++ visual-studio-2010 mfc linker static-linking