2

我有一个 .lib 静态库。我已在链接器设置“附加库目录”和“附加依赖项”下链接它,并使用pragma comment (lib, "mylib").. 所有这些都编译得很好。

我要问的是,我似乎只能在查看时找到链接解决方案,即如何实际使用其中的功能。如果我的静态库中引用了一个函数“MyFunc”,我该如何调用它?Visual Studio 当前无法识别库中定义的任何命名空间或函数。

谢谢!

4

2 回答 2

5

您需要获取该库的头文件,该文件通常随库一起提供。之后,您需要将它包含在要使用其中的函数的文件中,并使用声明的原型调用函数。

您的编译器需要了解函数的原型——因为它无法读取/解析 lib 文件——这是链接器的工作。

于 2013-02-07T23:26:36.983 回答
2

如果我理解你的要求,你需要为你的函数声明一个原型:

说你的库有:

int Foo(int bar) { ... }

在您pragma的库所在的“消费者”中,您需要以下内容:

extern int Foo(int bar);

甚至只是:

int Foo(int bar);

通常,您通过头文件(.h文件)来执行此操作,对于库,它们通常被称为“包含文件”

于 2013-02-07T23:28:49.887 回答