gpt4 book ai didi

iphone - iOS 通用框架 (i386) 中的重复符号

转载 作者:行者123 更新时间:2023-11-28 22:35:19 25 4
gpt4 key购买 nike

我正在使用 iOS Universal framework模板。

我创建了框架并将它们作为子项目添加到另一个项目中。并将框架二进制文件添加到项目中。

在我的框架中有一些常量

const float kToolbarHeight = 45;

当我尝试构建我的项目并包含框架时iphone模拟器(i386),出现链接器错误:

ld: 14 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

但是当我为设备构建它时 - 没有任何链接器错误。

我试图从项目中排除子项目(我的框架),并只保留二进制文件,但没有任何效果。

我正在尝试将目标中的体系结构更改为 i386$(VALID_ARCHS),因为在 that 中描述问题,但没有任何影响。

如何为 iOS 模拟器构建框架,我应该使用哪些目标设置?

更新:我定义的时候问题解决了我的常量在头文件中作为外部。

// MyView.h

extern const float kToolbarHeight;

// MyView.m

const float kToolbarHeight = 45;

但是为什么?模拟器和 arm 构建有什么区别?

最佳答案

当我在头文件中将我的常量定义为 extern 时,问题就解决了。

// MyView.h

extern const float kToolbarHeight;

// MyView.m

const float kToolbarHeight = 45;

about extern

关于iphone - iOS 通用框架 (i386) 中的重复符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16239225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com