c++ 使用GLFW3进行编译,链接器错误’未定义引用’

c++ 使用GLFW3进行编译,链接器错误’未定义引用’,第1张

概述使用GLFW3有一个最小的例子: #include <GLFW/glfw3.h>int main(int argc, const char * argv[]) { glfwInit();} …导致大量的链接器错误:(小摘录) Undefined symbols for architecture x86_64: "_CFArrayAppendValue", referenced f 使用GLFW3有一个最小的例子:

#include <GLFW/glfw3.h>int main(int argc,const char * argv[]) {    glfwInit();}

…导致大量的链接器错误:(小摘录)

Undefined symbols for architecture x86_64:  "_CFArrayAppendValue",referenced from:      _addJoystickElement in libglfw3.a(cocoa_joystick.m.o)  "_CFArrayApplyFunction",referenced from:      __glfwInitJoysticks in libglfw3.a(cocoa_joystick.m.o)      _addJoystickElement in libglfw3.a(cocoa_joystick.m.o)  "_CFArrayCreateMutable",referenced from:      __glfwInitJoysticks in libglfw3.a(cocoa_joystick.m.o)  ...  "_objc_msgSend_fixup",referenced from:  l_objc_msgSend_fixup_count in libglfw3.a(cocoa_monitor.m.o)  l_objc_msgSend_fixup_objectAtIndex_ in libglfw3.a(cocoa_monitor.m.o)  l_objc_msgSend_fixup_objectForKey_ in libglfw3.a(cocoa_monitor.m.o)  l_objc_msgSend_fixup_alloc in libglfw3.a(cocoa_init.m.o)  l_objc_msgSend_fixup_release in libglfw3.a(cocoa_init.m.o)  l_objc_msgSend_fixup_alloc in libglfw3.a(nsgl_context.m.o)  l_objc_msgSend_fixup_release in libglfw3.a(nsgl_context.m.o)  ...

OpenGL.framework和libglfw3.a都是链接的.

这是什么原因?在像魅力一样工作之前编译glfw2应用程序.

解决方法 在Mac OS X中,glfw3使用Cocoa(NSGL)进行OpenGL上下文管理. glfw2使用Carbon(CGL / AGL,取决于全屏或窗口模式).

NSGL更强大,但它建立在Objective C框架(Cocoa)之上.为了使您的软件能够与glfw3一起正常工作,您应该包含Cocoa框架.

总结

以上是内存溢出为你收集整理的c++ 使用GLFW3进行编译,链接器错误’未定义引用’全部内容,希望文章能够帮你解决c++ 使用GLFW3进行编译,链接器错误’未定义引用’所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1068670.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存