libpipeline 无法在 Mac OS X 上编译
libpipeline fails to compile on Mac OS X
我正在尝试在 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
的来源。
This comment was the main contribution to this answer
配置命令:
CFLAGS="-Wl,-flat_namespace,-undefined,suppress -Iwindows.h" ./configure
出现一些与 windows 特定的 header 相关的错误,但它只需要 header 中的一些条目即可编译。
windows.h的内容(我放在项目根目录)
typedef intptr_t;
#define INVALID_HANDLE_VALUE -1
这将使项目成功构建。
我正在尝试在 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
的来源。
This comment was the main contribution to this answer
配置命令:
CFLAGS="-Wl,-flat_namespace,-undefined,suppress -Iwindows.h" ./configure
出现一些与 windows 特定的 header 相关的错误,但它只需要 header 中的一些条目即可编译。
windows.h的内容(我放在项目根目录)
typedef intptr_t;
#define INVALID_HANDLE_VALUE -1
这将使项目成功构建。