gpt4 book ai didi

C++ OpenGL (freeglut)

转载 作者:行者123 更新时间:2023-11-28 03:05:53 26 4
gpt4 key购买 nike

我正在尝试从 main 方法上的函数传递对象引用。我认为问题出在这里。

在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 中,右键单击您的项目并转到“项目设置”(或类似内容),然后

Configuration Properties -> Linker -> Input -> Additional Dependences

在此字段中添加正确的库文件。对应于 Keyboard::specialKeys()

的 .lib 文件

关于C++ OpenGL (freeglut),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19738559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com