簡體   English   中英

C ++ OpenGL(freeglut)

[英]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上下文。

另請查看這些頁面上的具體錯誤:

http://msdn.microsoft.com/en-us/library/799kze2z.aspx

http://msdn.microsoft.com/en-us/library/z98k84c3.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM