【问题标题】:ld: warning: directory not foundld:警告:找不到目录
【发布时间】:2013-06-08 06:23:46
【问题描述】:

我有一个 Makefile,我在其中为链接器设置了一个库路径。因为代码依赖于存在于不同目录中的库,具体取决于它们的安装方式(fink、macports、source,...),所以我在库路径中包含了所有可能的位置。 当我在 linux 上编译时,ld 不在乎库路径中的目录是否存在,但在 OS X 上,ld 给出 ld: 警告:找不到选项“-L ...”的目录,如果一个或多个警告的目录不存在。

我想知道是否有办法在设置路径之前测试 Makefile 中是否存在目录?目前,我在 Makefile 中有这个

LIBS    = -L${PREFIX}/lib \
          -L${HOME}/lib \
          -L/opt/local/lib \
          -L/sw/lib

如果这是一个微不足道的问题,我深表歉意,但我对 Make 或 Makefiles 并不是特别擅长。

【问题讨论】:

    标签: macos makefile ld


    【解决方案1】:

    您可以使用以下方法逐个构建LIBS:

    ifneq (,$(wildcard ${PREFIX}/lib/.))
        LIBS += -L${PREFIX}/lib
    endif
    
    ifneq (,$(wildcard ${HOME}/lib/.))
        LIBS += -L${HOME}/lib
    endif
    

    等等

    【讨论】:

      猜你喜欢
      • 2012-03-16
      • 1970-01-01
      • 2019-11-22
      • 2015-12-17
      • 2016-06-30
      • 2019-02-17
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      相关资源
      最近更新 更多