我有一个 .lib 静态库。我已在链接器设置“附加库目录”和“附加依赖项”下链接它,并使用pragma comment (lib, "mylib").
. 所有这些都编译得很好。
我要问的是,我似乎只能在查看时找到链接解决方案,即如何实际使用其中的功能。如果我的静态库中引用了一个函数“MyFunc”,我该如何调用它?Visual Studio 当前无法识别库中定义的任何命名空间或函数。
谢谢!
我有一个 .lib 静态库。我已在链接器设置“附加库目录”和“附加依赖项”下链接它,并使用pragma comment (lib, "mylib").
. 所有这些都编译得很好。
我要问的是,我似乎只能在查看时找到链接解决方案,即如何实际使用其中的功能。如果我的静态库中引用了一个函数“MyFunc”,我该如何调用它?Visual Studio 当前无法识别库中定义的任何命名空间或函数。
谢谢!
您需要获取该库的头文件,该文件通常随库一起提供。之后,您需要将它包含在要使用其中的函数的文件中,并使用声明的原型调用函数。
您的编译器需要了解函数的原型——因为它无法读取/解析 lib 文件——这是链接器的工作。
如果我理解你的要求,你需要为你的函数声明一个原型:
说你的库有:
int Foo(int bar) { ... }
在您pragma
的库所在的“消费者”中,您需要以下内容:
extern int Foo(int bar);
甚至只是:
int Foo(int bar);
通常,您通过头文件(.h
文件)来执行此操作,对于库,它们通常被称为“包含文件”