首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++ OpenGL (自由)

C++ OpenGL (自由)
EN

Stack Overflow用户
提问于 2013-11-02 03:08:25
回答 2查看 167关注 0票数 0

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

在java中,我会这样做:

代码语言:javascript
复制
Object obj;

theFunction(obj);

方法的定义类似于:

代码语言:javascript
复制
public void theFunction(Object obj) {
    obj.useMethod();
}

我在c++上做的是:

代码语言:javascript
复制
void theFunction(Object& obj){
    obj.useMethod();
}

我认为这样做与我所读到的关于这个问题的内容相一致是正确的。我使用的是visual studio 2013,它不会抱怨,只在我编译的时候。错误消息如下:

代码语言:javascript
复制
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 ==========
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-02 03:17:44

你有一个连接错误。

Keyboard::specialKeys()是在您的代码中声明的。因此,这意味着在编译代码时使用的是正确的头文件。但您没有链接到正确的库。

Keyboard::specialKeys()来自哪个库?你需要它来纠正你的程序的链接。

在Visual中,右键单击项目并转到项目设置(或类似的内容),然后

配置属性->链接器->输入->附加依赖

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

票数 2
EN

Stack Overflow用户

发布于 2013-11-02 03:21:43

我会再次检查到图书馆的链接。密码在我看来没问题。当我第一次开始使用OpenGL上下文时,我很难设置它。

还请查看有关特定错误的这些页面:

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19738559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档