【问题标题】:lib path on mac osxmac osx上的lib路径
【发布时间】:2011-11-23 11:40:05
【问题描述】:

我确实将 libnfc 1.5.1 安装在默认目录 (/usr/loca/ 库)。

如果我执行 ls,我会在那里看到库:

foo:libnfc-1.5.1 bar$ ls -l /usr/local/lib/libnfc* 
-rwxr-xr-x  1 root  wheel   62092 Nov 23 09:05 /usr/local/lib/libnfc.2.dylib 
-rw-r--r--  1 root  wheel  226696 Nov 23 09:05 /usr/local/lib/libnfc.a 
lrwxr-xr-x  1 root  wheel      14 Nov 23 09:05 /usr/local/lib/libnfc.dylib ->libnfc.2.dylib 
-rwxr-xr-x  1 root  wheel     930 Nov 23 09:05 /usr/local/lib/libnfc.la 
foo:libnfc-1.5.1 bar$ 

我确实尝试使用以下命令从 mfoc 运行配置脚本:

LDFLAGS="-L/usr/local/lib"  ./configure 

它说我没有 libnfc >= 1.5.1

checking for LIBNFC... no 
configure: error: libnfc >= 1.5.1 is mandatory. 

有什么想法吗?

【问题讨论】:

  • 2 个想法:1)陈旧的缓存。 2)查看config.log(它会告诉你为什么找不到库。)
  • 第三个想法:mfoc 的配置脚本是 fubar。 (我对mfoc一无所知,但是配置脚本被破坏是很常见的。不要指望这个,但也不要打折扣。)
  • 4 想法:是否使用 pkg-config?错误看起来有点像。尝试设置 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
  • 我假设这个配置脚本是由 autoconf 生成的;那是对的吗? (如果是这样,这个问题可能应该被标记为 autoconf。)

标签: macos makefile autoconf


【解决方案1】:

这是一个猜测,但错误看起来像是来自 pkg-config。试试:

$ ./configure LDFLAGS=-L/usr/local/lib PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

您确实需要查看 config.log 以了解它找不到库的确切原因。

编辑:经常有人声称 pkg-config 从根本上被破坏了。这个案子终于让我相信这确实是真的。设置 LDFLAGS 应该就足够了,而且它不会导致此配置脚本损坏。考虑到这一点,最好通过使用参数 PKG_CONFIG= 运行 configure 来禁用 pkg-config:

【讨论】:

    【解决方案2】:

    在运行./configure之前尝试设置DYLD_LIBRARY_PATH变量并将其指向/usr/local/lib

    $ export DYLD_LIBRARY_PATH=/usr/local/lib
    $ ./configure
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-26
      • 2015-01-16
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多