当我重新编译一个旧的 Obj-C 项目(一个 Cocoa 应用程序)时,链接器找不到一些常见的库模块,包括 sin() 和 sysctl()。这个项目一直在以前版本的 Xcode 中工作。我现在在 OSX 10.5 中使用 Xcode 3.1.2。错误消息是:
Line Location Tool:0: collect2: ld returned 1 exit status
Line Location Tool:0: symbol(s) not found
Line Location Tool:0: _AmIBeingDebugged in MeterMileage.o
Line Location Tool:0: "_sysctl", referenced from:
Line Location Tool:0: -[AnimatedStar drawRect:] in AnimatedStar.o
Line Location Tool:0: "_sin", referenced from:
...
我当前版本的 Xcode 将使用 sin() 等链接到新项目的正确库。如何修复在早期 Xcode 中启动的项目以使用正确的库?我在 FFTW 中看到了关于链接的帖子,但是 sin() 并没有那么不寻常,是吗?
我想我可以创建一个新项目,并将我的代码等复制到其中,但这似乎有点笨拙。有没有更好的办法?可能会有更多的项目需要更新。
谢谢,加里