xcode4: 链接错误:选项所指定的目录未找到

46

我的个人资料构建时出现了这个错误(调试构建是OK的)。

{Directory not found for option '-L../../../Mac/Profile/lib [full path of that directory]

Library not found for -lMyLib}

当我检查路径时,目录存在,并且lib文件libMyLib.a也存在。我的Profile构建的库搜索路径包括该目录$(SRCROOT)/../../../Mac/Profile/lib。我还确保库是在配置文件为profile时构建的。

这只会出现在profile构建中。

尽管这可能是一个简单问题,但我真的很需要帮助。

谢谢!

编辑:我自己找到了解决方案 已解决问题:在我的链接器路径中,有两个目录条目。第二个目录被双引号包围,而第一个则没有。Xcode4似乎将它们连接成了一个单一的目录条目,显然是错误的。在我删除引号之后,链接器错误消失了。

4个回答

103

前往目标文件的“获取信息”。 点击“Build Settings”选项卡(我使用的是Xcode4),并向下滚动到“搜索路径”,在那里您可以删除“Library Search Paths”中的所有值。


3
虽然这段话已经超过两年了,但我想说谢谢你:最终成功解决了我的问题 :) - Blade
10
我的“Library Search Paths”字段已经为空,但我的问题与此类似:在“Framework Search Paths”字段中有额外的值需要被移除。 - Brian
3
对我有效的方法是删除“Library Search Paths”和“Framework Search Paths”下的所有内容,把两者都改为“。”并设置为递归搜索。 - gabe.roze

54

有两个错误似乎被人们混淆了

如果出现“目录未找到选项 -L/...”,那么这意味着是库错误,您可以尝试:

  • 点击您的项目(目标)
  • 点击构建设置
  • 在库搜索路径下,删除路径

如果出现“目录未找到选项-F/...”,那么这意味着是框架错误,您可以尝试:

  • 点击您的项目(目标)
  • 点击构建设置
  • 框架搜索路径下删除路径

可能会在移动引用文件或更改项目文件夹名称时发生此问题。


1
在库搜索路径中,与上述情况类似。我发现我的其中一个路径没有括号。
// Old path
$(PROJECT_DIR)/Google Analytics

// New path
"$(PROJECT_DIR)/Google Analytics"

0

我在一个完全不同的场景中遇到了这个错误,与上面的答案似乎没有任何关系。希望有些人能像我一样做到这一点,并发现即使这是一个罕见的事件,它也很有用。

我刚刚向我的项目添加了一个新的viewController,然后就出现了这个错误。像往常一样,我添加了一个tableview并对其进行了约束,然后添加并链接了delegate和datasource。我还创建了一个属性。

奇怪的是,当我完成创建属性后,我立即注意到它已经被链接了,就好像我已经链接了它,但在我链接之前。当我点击xib文件并检查链接时,它实际上并没有链接到表视图。

enter image description here

(这个链接是自动出现的,我并没有手动创建它)

我不知道为什么会发生这种情况。我已经删除了这个文件,然后用相同的名称重新创建了它,但仍然出现了同样的错误。

我的解决方法是创建一个新文件,使用不同的名称,并按照不同的顺序添加和创建链接,在每一步检查是否出现了这种情况。完成这些步骤后,没有任何链接自动创建,程序也工作正常。

简而言之:如果你遇到了这个错误,并且最近添加了新的视图控制器,请尝试删除它,如果可以删除,则重新创建时要小心处理任何自动链接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接