c++ 使用GLFW3进行编译,链接器错误’未定义引用’
发布时间:2020-12-15 01:50:15 所属栏目:百科 来源:网络整理
导读:使用GLFW3有一个最小的例子: #include GLFW/glfw3.hint main(int argc,const char * argv[]) { glfwInit();} …导致大量的链接器错误:(小摘录) Undefined symbols for architecture x86_64: "_CFArrayAppendValue",referenced from: _addJoystickElement in
使用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框架. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |