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

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



和链接器错误:

最佳答案

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

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

  • 创建一个新的 Mac Cocoa 应用程序。
  • 从 SOIL 中添加 10 个文件 src文件夹: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 将它们复制到我的项目中。
  • 添加一行
    到我的应用程序委托(delegate)的 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/

    10-11 16:05