我有一个GLUT应用程序,我在OS X Mavericks下运行。我从命令行启动它,但是当我这样做时,自动GPU切换启动,我的MacBook Pro切换到独立的GPU。在这种情况下,集成的GPU将足以满足我的需求。但我无法找到如何在这种情况下允许使用集成的文件,因为我没有Info.plist文件(有关详细信息,请参阅https://developer.apple.com/library/mac/qa/qa1734/_index.html)。我知道我可以使用像gfxCardStatus这样的工具手动禁用离散GPU,但如果可以,我宁愿以编程方式解决这个问题。
我计划在某个时候切断GLUT,现在Apple已经弃用了它在OS X下的使用,但是对于我来说,这个项目目前的优先级较低。
答案 0 :(得分:0)
解决方案是在链接时直接将Info.plist嵌入到二进制文件中。此博文显示了如何执行此操作:http://www.red-sweater.com/blog/2083/the-power-of-plist
具体来说,您为二进制文件创建一个Info.plist文件,然后将以下内容添加到项目的LDFLAGS中:
-sectcreate __TEXT __info_plist $(INFOPLIST_FILE)