xcode - 在 Xcode 4.2.1 项目中包含 header

标签 xcode opengl soil

我正在尝试使用一个库,特别是 Xcode 4.2.1 中的 SOIL(简单 OpenGL 图像库)。在 Build Phases -> Link Library with Libraries 下,我添加了 SOIL zip 存档附带的所有 .h 和 .c 文件。

当我构建项目时,对于添加的每个 .h 和 .c 文件,我都会收到以下错误消息:

warning: skipping file '/Users/saw/XcodeProjects/Assignment01 copy/Assignment01/image_DXT.c' (unexpected file type 'sourcecode.c.c' in Frameworks & Libraries build phase)



和链接器错误:

"_SOIL_load_OGL_texture", referenced from: Init() in main.o Symbol(s) not found for architecture x86_64 Clang: error: linker command failed with exit code 1 (use -v to see invocation)

最佳答案

.h 和 .c 文件不是库。将 .c 文件添加到编译阶段,只需 #import .h 文件在需要的地方。

为了验证链接,我已完成以下操作:

  • 创建一个新的 Mac Cocoa 应用程序。
  • 从 SOIL src 添加 10 个文件
    文件夹:SOIL.c、image_DXT.h、stbi_DDS_aug.h、SOIL.h、image_helper.c、
    stb_image_aug.c、stbi_DDS_aug_c.h、image_DXT.c、image_helper.h 和
    stb_image_aug.h。
  • 告诉 Xcode 将它们复制到我的项目中。
  • 添加一行
    给我的应用代表 applicationDidFinishLaunching:方法:SOIL_load_OGL_texture( "img_test.png", SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, 0 ); .
  • 构建运行目标。

  • 尽管有各种关于数据转换的编译器警告,但这些步骤会生成一个没有链接器错误的可执行文件。

    关于xcode - 在 Xcode 4.2.1 项目中包含 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10639251/

    相关文章:

    opengl - 简单 OpenGL 图像库 (SOIL) 使用已弃用的功能?

    c++ - 将 SOIL.lib 与 GCC 一起使用 - 添加符号时出错 : File format not recognised

    ios - 优化最新的 iPad Pro 模拟器

    ios - 反转按钮动画

    ios - 一个场景中的相机/图库按钮,另一个场景中的图像

    objective-c - AdMob:找不到自动链接的框架 'FBLPromises'

    c - 程序获取 EXC_BAD_ACCESS

    performance - OpenGL:快速离屏渲染

    OpenGL:重用具有不同参数的相同纹理

    c++ - 土壤图像尺寸