libpipeline无法在Mac OS X上编译

时间:2016-04-24 14:31:59

标签: c macos autotools libtool gnulib

我正在尝试在Mac OS X上构建libpipeline,但是我遇到了其他使用autotools的程序时没有遇到的错误。

这是我收到的第一个错误:

/Developer/usr/bin/ranlib: file: .libs/libgnu.a(sig-handler.o) has no symbols

第二个错误更加神秘:

warning: /Developer/usr/bin/nm: no name list

最后,我得到了这个错误,这是以前错误的推测。

Undefined symbols for architecture x86_64:
  "_program_name", referenced from:
      _error in libgnu.a(error.o)
      _error_at_line in libgnu.a(error.o)
ld: symbol(s) not found for architecture x86_64

完整日志:https://gist.github.com/ahyattdev/7e4da95d48a6d25ad77aad926a14e7b0

重现步骤:获取libpipeline 1.4.1的来源,运行configure; make

1 个答案:

答案 0 :(得分:2)

This comment was the main contribution to this answer

配置命令:

CFLAGS="-Wl,-flat_namespace,-undefined,suppress -Iwindows.h" ./configure

出现一些与特定于Windows的标头相关的错误,但它只需要标头中的一些条目来进行编译。

windows.h的内容(我把它放在项目根目录中)

typedef intptr_t;
#define INVALID_HANDLE_VALUE -1

这将允许项目成功构建。