XCode项目 - ld:找不到-llib的库

时间:2015-04-06 18:08:38

标签: xcode macos cmake glew

最近我遇到了一个可以在这个帖子中找到的CMake问题:

Cmake on OSX Yosemite 10.10.3 - GLEW: package 'gl' not found

最终它得到了解决,可能部分是由于我在XCode和CMake方面缺乏经验。 (我过去主要使用visual studio来编译项目。)

在链接线程中进行更改后,我在CMake中收到了关于我的GLEW库的警告

(这是我应该担心的还是不重要的?)

MACOSX_RPATH is not specified for the following targets:

   GLEW_MX_shared
   GLEW_shared

我只是忽略它并尝试在选择了ALL_BUILD目标的XCode中编译我的项目。在闪亮的目标中,它说主要的包含文件无法找到,所以我将.h文件添加到我项目的inc文件夹中。

当我再次编译时,编译器开始再次抱怨

我不知道这个错误意味着什么以及如何修复它。):

ld: library not found for -llib

现在用Google搜索了一整天,我找不到任何解决这个问题的方法。

使用XCode作为IDE非常令人沮丧,但我真的想了解更多有关不同平台及其最受欢迎的IDE的知识,因此我可以从一开始就制作多平台应用程序,而不是之后移植它。

如果重要,我正在使用OSX Yosemite 10.10.3。

为了让我的问题更容易理解,我在我的保管箱上放了一个项目的拉链。 https://www.dropbox.com/s/xnrh90kuih9ia5a/SPARKY%202.zip?dl=0

如果我一次又一次地解释事情,请随意提问,感谢所有在此做出贡献的人。在发现这些论坛之后,我真的学会了分配。

编辑:好吧,我启动了我的Windows机器,生成了一个可视化的工作室环境并尝试在那里构建它。似乎这里也发生了同样的问题。我查看了链接器属性/标志,并看到一个lib.lib文件添加到链接过程中,看起来根本不正确。

删除文件时,错误消失,许多其他人到了! (这可以通过链接适当的库来解决,所以我不会在这里处理它们。)

我误解了我的mac上的错误,并认为它指的是我需要追捕的随机库,但实际上这是我的一个CMake文件中的不一致。

EDIT2:现在我只需要找出lib.lib的来源以及如何从项目中抛弃标志,这样我就可以生成我的环境并立即构建!

1 个答案:

答案 0 :(得分:1)

故事的道德。有时候解决方案就在你面前,最终还是更像是在大海捞针。

我从我的根CMakeLists.txt文件中删除了以下内容,并且随机的lib.lib库已从我生成的项目中删除

SET( PROJ_LIBRARIES "lib" )

我认为这增加了一个包含库的文件夹,但实际上它所做的是为特定库添加另一个标志,因为这个变量被送到:

TARGET_LINK_LIBRARIES( ${PROJ_NAME} ${PROJ_LIBRARIES} ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES} )