在Mac下应用GLFW库的OpenGL编程,外部链接错误。_addJoystickElement in libglfw3.a(cocoa_joystick.o)

解决在MacosHighSierra系统下使用Xcode和GLFW库进行OpenGL编程时遇到的外部链接错误问题。通过加载CoreFoundation.framework、Appkit.framework、IOKit.framework和CoreGraphics.framework等类库,实现OpenGL渲染的正常显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Mac下应用GLFW库的OpenGL编程,外部链接错误。

我应用的系统:

Mac os Heigh Sierra 版本10.13.6
OpenGL版本 4.1
Xcode 版本9.4.1
GLFW版本 3.3.2

用Xcode创建空项目后,书写一个最简单的渲染代码,显示一个空屏幕的窗口。编译后总是外部链接错误。确实准确的添加了libglfw3.a的库。

具体错误代码举例如下:

Undefined symbols for architecture x86_64:

  "_CFArrayAppendValue", referenced from:

      _addJoystickElement in libglfw3.a(cocoa_joystick.o)

百度搜索后,查到别人的文章内容引用如下。

查看文件,cocoa_joystick.m中的CFArrayAppendValue,点进去之后看到是CoreFoundation.framework里的东西,
在tutorial01_first_window的Build Phases的右下角 add Build Phase 点开之后,然后点击Add Link Binary With Libraries。
然后点击加入CoreFoundation.framework
再编译还是出错,再加入Appkit.framework,IOKit.framework,CoreGraphics.framework类库.
再次编译,成功,可以运行啦.开始opengl-tutorial教程之旅.

由于都是我不太懂的Mac系统的东西,所以就原文摘录在这里,以后可以参考。
总之就是缺少Mac系统的相关库文件。
加载CoreFoundation.framework Appkit.framework,IOKit.framework,CoreGraphics.framework类库.
后编译运行能正常显示OpenGL的渲染。

参考文章地址:
https://blog.csdn.net/richard9006/article/details/19016581

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值