7

我的用户故事:我想将纹理加载到我的 openGL 程序中。

我的问题:如何在 xcode 4.0.2 中正确链接 SOIL 库

所以,在过去的几天里,我一直在谷歌上搜索我在 xcode4 中的链接器警告,但我无法自己回答——所以我敢于在这个主题上发布另一个线程......(谦虚的初学者把尾巴夹在两腿之间)。

我的基本复制步骤:

  1. 我将“简单 OpenGL 图像库”解压缩到我的下载中
  2. 我将 libSOIL.a 拖放到我的项目文件中

    • 在“构建阶段”下,libSOIL.a 会自动添加到“使用库链接二进制文件”
    • 在“构建设置”下,我的库搜索路径也会自动更新
    • 我的有效架构已经指定“i386 x86_64”

当我尝试运行我的程序时收到此警告:

ld:警告:忽略文件/Users/Scott/Developer/Projects/SpaceRanger/Code/Production/lib/libSOIL.a,文件是为存档而构建的,它不是被链接的架构(x86_64)

正如我所提到的,我对编程和 IDE 很陌生,所以我希望在 OpenGL(例如 SOIL)中加载纹理的更简单的方法对 SDL 甚至 GLFW 有利。如果我在只加载一个库时遇到这种麻烦,那肯定是我不知道的。

基于搜索的其他 Hit n' Miss 尝试:

  • 将库添加到“编译源”只会产生更多警告
  • 切换“仅构建活动架构”是/否
  • 将方案设置为 32 位和 64 位
  • 编写我自己的纹理加载器,使用 libjpg/DevIL/等。

恐怕我开始破坏我的项目只是试图链接这个库。如果有人可以帮助我在 xcode 4.0.2 中正确链接 SOIL 库,我将永远感激不尽。

提前深深感谢您。

-克罗普克

4

1 回答 1

7

我想补充一点,在过去的几天里,它让我发疯了。除了以上所有内容,我还必须确保以下内容。

在 Project > Target > Build Phases 中,在“Compile Sources”下,需要添加 .c SOIL 文件:

image_DXT.c、image_helper.c、SOIL.c、stb_image_aug.c。

只有现在它才能编译和运行。

// 不知道为什么要投反对票,希望有理由!

于 2012-12-24T00:10:08.297 回答