相关疑难解决方法(0)

Xcode,重复符号_main

我有重复的符号_main.

问题是它说"在/Users/.../i386/main-B9843B6026D6EFA4.o和/Users/.../i386/main-B9843B6026D6EFA4.o中复制符号_main",XXX和XXX实际上是相同的. o文件.我不知道为什么它认为它是重复的符号,当它是相同的.o ?!

任何帮助表示感谢,谢谢.

xcode

55
推荐指数
4
解决办法
4万
查看次数

从iPhone静态库中包含的类别调用方法会导致NSInvalidArgumentException

我已经创建了一个静态库来存放我的一些代码,比如类别.

我在"UIView-Extensions.h"中有一个名为Extensions的UIViews类别.

在这个类别中我有一个叫做的方法:

- (void)fadeOutWithDelay:(CGFloat)delay duration:(CGFloat)duration;
Run Code Online (Sandbox Code Playgroud)

调用此方法在Debug配置的模拟器上运行正常.

但是,如果尝试在设备上运行应用程序,我会收到NSInvalidArgumentException:

[UIView fadeOutWithDelay:duration:]: unrecognized selector sent to instance 0x1912b0
 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIView fadeOutWithDelay:duration:]: unrecognized selector sent to instance 0x1912b0
Run Code Online (Sandbox Code Playgroud)

似乎由于某种原因UIView-Extensions.h没有被包含在设备构建中.


我检查/尝试了什么

我确实尝试为NSString包含另一个类别,并且遇到了同样的问题.

其他文件,如整个类和函数都可以正常工作.这是一个仅在类别中出现的问题.

我做了一个干净的所有目标,但没有解决问题.

我检查了静态库项目,这些类别包含在目标的"copy headers"和"compile sources"组中.

静态库包含在主项目"链接二进制文件库"组中.

我添加静态库的另一个项目工作得很好.

我删除并重新添加静态库,没有运气

-ObjC链接器标志已设置

有任何想法吗?


nm输出

libFJSCodeDebug.a(UIView-Extensions.o):
000004d4 t -[UIView(Extensions) changeColor:withDelay:duration:]
00000000 t -[UIView(Extensions) fadeInWithDelay:duration:]
000000dc t -[UIView(Extensions) fadeOutWithDelay:duration:]
00000abc t -[UIView(Extensions) firstResponder]
000006b0 t -[UIView(Extensions) hasSubviewOfClass:]
00000870 t -[UIView(Extensions) hasSubviewOfClass:thatContainsPoint:]
000005cc t -[UIView(Extensions) rotate:]
000002d8 …
Run Code Online (Sandbox Code Playgroud)

iphone xcode cocoa-touch exception

33
推荐指数
4
解决办法
1万
查看次数

C编译问题?

我刚开始学习C,并编写了我的hello world程序:

#include <stdio.h>
main()
{
    printf("Hello World");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我得到一个很长的错误:

Apple Mach-O Linker (id) Error

 Ld /Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Products/Debug/CProj normal x86_64
        cd /Users/Solomon/Desktop/C/CProj
        setenv MACOSX_DEPLOYMENT_TARGET 10.7
        /Developer/usr/bin/clang -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -L/Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Products/Debug -F/Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Products/Debug -filelist /Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Intermediates/CProj.build/Debug/CProj.build/Objects-normal/x86_64/CProj.LinkFileList -mmacosx-version-min=10.7 -o /Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Products/Debug/CProj

    ld: duplicate symbol _main in /Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Intermediates/CProj.build/Debug/CProj.build/Objects-normal/x86_64/helloworld.o and /Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Intermediates/CProj.build/Debug/CProj.build/Objects-normal/x86_64/main.o for architecture x86_64
    Command /Developer/usr/bin/clang failed with exit code 1
Run Code Online (Sandbox Code Playgroud)

我正在运行xCode

我应该重新安装DevTools吗?

c compiler-construction

-1
推荐指数
1
解决办法
108
查看次数