繁体   English   中英

在OSX中链接GLFW的问题

[英]Problems linking against GLFW in OSX

当我通过链接器运行我的C ++ OpenGL程序时,我收到了大量的链接器错误(包含在下面)。 编译没有依赖GLFW的OpenGL程序没有问题。 我不确定从哪里开始,因为我在Mac上做了很少的C ++ / ObjC开发 - 任何想法? 谢谢!

正在运行的命令是:

g++ -framework Carbon -framework OpenGL -framework GLUT -lglfw -framework AGL -arch i386 display.o voxels.o -o cubile

错误是:

Undefined symbols for architecture i386:
  "_objc_msgSend", referenced from:
      __glfwPlatformOpenWindow in libglfw.a(cocoa_window.o)
      -[GLFWContentView mouseDragged:] in libglfw.a(cocoa_window.o)
      -[GLFWContentView rightMouseDragged:] in libglfw.a(cocoa_window.o)
      -[GLFWContentView otherMouseDragged:] in libglfw.a(cocoa_window.o)
      __glfwPlatformPollEvents in libglfw.a(cocoa_window.o)
      __glfwPlatformWaitEvents in libglfw.a(cocoa_window.o)
      __glfwPlatformRefreshWindowParams in libglfw.a(cocoa_window.o)
      ...
  "_objc_msgSend_stret", referenced from:
      -[GLFWWindowDelegate windowDidResize:] in libglfw.a(cocoa_window.o)
      __glfwPlatformSetWindowPos in libglfw.a(cocoa_window.o)
      -[GLFWContentView mouseMoved:] in libglfw.a(cocoa_window.o)
  "_objc_msgSend_fpret", referenced from:
      -[GLFWContentView mouseMoved:] in libglfw.a(cocoa_window.o)
      -[GLFWContentView scrollWheel:] in libglfw.a(cocoa_window.o)
      __glfwPlatformGetTime in libglfw.a(cocoa_time.o)
      __glfwPlatformSetTime in libglfw.a(cocoa_time.o)
  "_objc_msgSendSuper", referenced from:
      -[GLFWContentView keyDown:] in libglfw.a(cocoa_window.o)
      -[GLFWApplication sendEvent:] in libglfw.a(cocoa_init.o)
  "_NSApp", referenced from:
      __glfwPlatformOpenWindow in libglfw.a(cocoa_window.o)
      __glfwPlatformPollEvents in libglfw.a(cocoa_window.o)
      __glfwPlatformWaitEvents in libglfw.a(cocoa_window.o)
      __glfwPlatformCloseWindow in libglfw.a(cocoa_window.o)
      __glfwPlatformInit in libglfw.a(cocoa_init.o)
      __glfwPlatformOpenWindow in libglfw.a(cocoa_window.o)
      __glfwPlatformPollEvents in libglfw.a(cocoa_window.o)
      __glfwPlatformWaitEvents in libglfw.a(cocoa_window.o)
      __glfwPlatformCloseWindow in libglfw.a(cocoa_window.o)
      __glfwPlatformInit in libglfw.a(cocoa_init.o)
  ".objc_class_name_NSAutoreleasePool", referenced from:
      pointer-to-literal-objc-class-name in libglfw.a(cocoa_window.o)
      pointer-to-literal-objc-class-name in libglfw.a(cocoa_init.o)
  ".objc_class_name_NSString", referenced from:
      pointer-to-literal-objc-class-name in libglfw.a(cocoa_window.o)
      pointer-to-literal-objc-class-name in libglfw.a(cocoa_init.o)
  ".objc_class_name_NSCursor", referenced from:
      pointer-to-literal-objc-class-name in libglfw.a(cocoa_window.o)
  ".objc_class_name_NSScreen", referenced from:
      pointer-to-literal-objc-class-name in libglfw.a(cocoa_window.o)
  ".objc_class_name_NSOpenGLContext", referenced from:
      pointer-to-literal-objc-class-name in libglfw.a(cocoa_window.o)
  ".objc_class_name_NSOpenGLPixelFormat", referenced from:
      pointer-to-literal-objc-class-name in libglfw.a(cocoa_window.o)
  ".objc_class_name_NSWindow", referenced from:
      pointer-to-literal-objc-class-name in libglfw.a(cocoa_window.o)
  ".objc_class_name_NSView", referenced from:
      .objc_class_name_GLFWContentView in libglfw.a(cocoa_window.o)
  ".objc_class_name_NSMenuItem", referenced from:
      pointer-to-literal-objc-class-name in libglfw.a(cocoa_init.o)
  ".objc_class_name_NSMenu", referenced from:
      pointer-to-literal-objc-class-name in libglfw.a(cocoa_init.o)
  ".objc_class_name_NSBundle", referenced from:
      pointer-to-literal-objc-class-name in libglfw.a(cocoa_init.o)
  ".objc_class_name_NSThread", referenced from:
      .objc_class_name_GLFWThread in libglfw.a(cocoa_init.o)
  ".objc_class_name_NSApplication", referenced from:
      .objc_class_name_GLFWApplication in libglfw.a(cocoa_init.o)
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

解决了它 - 当新版本的GLFW使用Cocoa时,我正在与Carbon联系。 -framework Carbon替换为-framework Cocoa解决了这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM