[英]C++ OpenGL (freeglut)
我試圖從主方法上的函數傳遞對象引用。 我認為問題在於那里。
在java中我會做這樣的事情:
Object obj;
theFunction(obj);
方法定義如下:
public void theFunction(Object obj) {
obj.useMethod();
}
我在c ++上做的是:
void theFunction(Object& obj){
obj.useMethod();
}
我認為這種方式與我在這個主題上所閱讀的內容相對應是正確的。 我正在使用visual studio 2013,它不會抱怨,只有在我編譯時。 錯誤消息如下:
1>------ Build started: Project: Radiosity, Configuration: Debug Win32 ------
1> Source.cpp
1>Source.obj : error LNK2019: unresolved external symbol "public: void __thiscall Keyboard::specialKeys(class Camera &)" (?specialKeys@Keyboard@@QAEXAAVCamera@@@Z) referenced in function "void __cdecl display(void)" (?display@@YAXXZ)
1>C:\Users\PC\Documents\Visual Studio 2013\Projects\Radiosity\Debug\Radiosity.exe : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
您遇到了鏈接錯誤。
Keyboard::specialKeys()
是在代碼上聲明的某個地方。 所以這意味着,在編譯代碼時,您使用的是正確的頭文件。 但是你沒有鏈接到正確的庫。
Keyboard::specialKeys()
來自哪個庫? 您需要它來糾正程序的鏈接。
在Visual Studio中,右鍵單擊您的項目並轉到項目設置(或類似的東西),然后
配置屬性 - >鏈接器 - >輸入 - >附加依賴項
在此字段中添加正確的庫文件。 與Keyboard::specialKeys()
對應的.lib文件
我會仔細檢查圖書館的鏈接。 代碼看起來很好。 我第一次開始使用它時,我有一段時間設置OpenGL上下文。
另請查看這些頁面上的具體錯誤:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.