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 Cocoa
代替-framework Carbon
解决了这个问题。
相关文章:
- 使用jsoncpp库时出现链接问题
- Cmake 链接问题:未定义对 Button::mousePressEvent(QGraphicsSceneMouseE
- 如何将GTest与CMake一起使用?遵循谷歌指南时的链接问题
- 未解决的外部链接问题
- 'make check' GLIBC 运行时的链接问题
- 在树莓派上用libtorch构建程序时的链接问题
- 野牛弹性链接问题
- 与 AWS 开发工具包的链接问题
- Qt & Firebase C++ SDK 在 iOS 上的链接问题
- 链接问题 boost::p ython::numpy.
- 与 32 位共享对象的链接问题
- 在单元测试项目中包括 .c 文件,并从多个 cpp 文件访问它而不会出现链接问题
- 安卓链接问题
- LLVM 传递链接问题:未定义的符号
- Cmake Mac OSX库链接问题:在Linux上进行编译,但在Mac上进行了编译
- 用libclang解析源文件 - 链接问题包括文件
- C / C++链接问题与非常简单的设置
- Zbar 在 vs2015 链接问题
- Vulkan + GLFW + Cmake在Linux环境下的链接问题
- TFS构建由于链接问题而失败