我是Qt中新增的C++編程。如果您可以回答任何或部分問題,那將非常有幫助,謝謝。從外部靜態庫訪問函數
由於僅在「.lib」文件中提供了外部庫,因此我將它作爲靜態庫使用。我已經通過stackoverflow網站的幫助正確地鏈接了它。我也有與庫相關聯的頭文件。我將頭文件包含在main.cpp中。我可以通過查看頭文件來獲得函數簽名。我的問題是如何從外部庫訪問函數?
例如,這裏是一個單一的功能,我試圖在main.cpp中使用:
==> QRETURN快速查找(字符*設備,無符號長的長度);
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;
} 這會給我不確定參考「快速查找@ 8」的錯誤信息。
有人可以告訴我或給我一些提示或幫助如何從外部靜態庫正確訪問函數和它的使用?謝謝。
讓自己一個很好的C++的書,你迫切需要了解的語言非常基本的。 (對不起,如果這聽起來很刺耳,但給你一些線索,這樣你就可以編譯,也許運行不會有幫助.C++非常複雜,你需要了解你在寫什麼,並且沒有代替一本好書或十本書。) – Mat