我正在尝试使用库,特别是Xcode 4.2.1中的SOIL(简单OpenGL图像库).在Build Phases - > Link Library with Libraries下我添加了SOIL zip存档附带的所有.h和.c文件.
当我构建项目时,我为每个.h和.c文件添加以下错误消息:
警告:跳过文件'/ Users/saw/XcodeProjects/Assignment01 copy/Assignment01/image_DXT.c'(框架和库构建阶段中的意外文件类型'sourcecode.cc')
和链接器错误:
"_SOIL_load_OGL_texture",引自:main.o中的Init()未找到架构x86_64的符号Clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
.h和.c文件不是库.将.c文件添加到编译阶段,只#import需要.h文件.
要验证链接,我已完成以下操作:
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.applicationDidFinishLaunching:方法中添加一行:
SOIL_load_OGL_texture( "img_test.png", SOIL_LOAD_AUTO,
SOIL_CREATE_NEW_ID, 0 );.虽然有关于数据转换的各种编译器警告,但这些步骤会生成一个没有链接器错误的可执行文件.