リンカを使用してC++ OpenGLプログラムを実行すると、以下のリンカエラーが発生します(下記参照)。 GLFWに依存しないOpenGLプログラムをコンパイルするのに問題はありません。 MacでC++/ObjCの開発をほとんどやったことがないので、ここからどこに行くのか分かりません。ありがとう!OSXでGLFWとリンクする際の問題
、実行されているコマンドは次のとおりです。
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
Xcodeやコマンドライン、makeファイル、または? –
これはMakefileから実行しています。私は質問にコマンドを追加するのを忘れました - 今追加するために編集します。 –
'財団 'はしませんでしたが、'ココア 'はしました。助けてくれてありがとう! –