我是 Qt 中 C++ 编程的新手。如果您能回答任何或部分问题,那将非常有用,谢谢。
我将外部库用作静态库,因为它仅在“.lib”文件中提供。我已经通过stackoverflow网站的帮助正确链接了它。我也有与库关联的头文件。我在 main.cpp 中包含了头文件。我可以通过查看头文件来获得函数签名。我的问题是如何访问外部库中的函数?
例如,这是我尝试在 main.cpp 中使用的一个函数:
==> QRETURN 快速查找(char *device, unsigned long length);
int main (int argc, char *argv[]{
// I have declared like this by copying the exact function signature with added extern
extern QRETURN Quickfind(char *device, unsigned long length);
cout << device << " and " << length << endl;
但是,这将显示设备和长度未在此范围内声明的错误。因此,我通过在函数之前声明参数来进行修改:
int main (int argc, char *argv[]{
char *device = NULL;
unsigned long length = NULL;
extern QRETURN Quickfind(char *device, unsigned long length);
cout << device << " and " << length << endl;
我希望这两个参数将被传递到函数中,但显然他们没有。另外,如果我在声明后直接使用该函数:
int main (int argc, char *argv[]{
char *device = NULL;
unsigned long length = NULL;
extern QRETURN Quickfind(char *device, unsigned long length);
Quickfind(*device, length);
cout << device << " and " << length << endl;
这会给我对“Quickfind@8”错误消息的未定义引用。
有人可以告诉我或给我一些关于如何正确访问函数及其从外部静态库中的用法的提示或帮助吗?谢谢你。