首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mach-O-Link错误

Mach-O-Link错误
EN

Stack Overflow用户
提问于 2014-05-31 06:21:30
回答 1查看 64关注 0票数 0

我目前正在开发一个包含在应用程序购买中的应用程序。厌倦了在所有项目中复制粘贴相同的类文件,我决定创建一个静态库。

我遵循了网上几个可用的指南,关于如何为IOS创建一个静态库,但我似乎总是遇到问题。

代码语言:javascript
复制
Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_NWStorePackage", referenced from:
      objc-class-ref in StoreTableViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

对于arm64体系结构也会显示相同的错误

我链接库,添加了头文件。更新了头搜索路径,更新了框架路径。不知道我还能做什么..。我使用了以下脚本。

代码语言:javascript
复制
# define output folder environment variable  
UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal

# Step 1. Build Device and Simulator versions
xcodebuild -target ${PROJECT_NAME} ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos  BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
xcodebuild -target ${PROJECT_NAME} -configuration ${CONFIGURATION} -sdk iphonesimulator -arch i386 BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"

# make sure the output directory exists 
mkdir -p "${UNIVERSAL_OUTPUTFOLDER}"

# Step 2. Create universal binary file using lipo
lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}.a"

# Last touch. copy the header files. Just for convenience
cp -R "${BUILD_DIR}/${CONFIGURATION}-iphoneos/include" "${UNIVERSAL_OUTPUTFOLDER}/"
EN

回答 1

Stack Overflow用户

发布于 2014-05-31 06:29:43

您是否检查了所有头文件都复制到了正确的目录中(在应用程序设置的头文件路径中指定的目录中?)。

如果没有生成标题,则可能您错过了将标题添加到复制文件的步骤。或者您没有复制标头构建阶段:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23964197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档