/Applications/Xcode.app/Contents/Developer/usr/bin/make all-am
/bin/sh ./libtool --tag=CXX --mode=link /Applications/Xcode.app/Contents/Developer/usr/bin/g++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -I/Users/unhammer/src/macdivvun-service/Dependencies
/Static/x86_64/include -fvisibility=hidden -std=c++1z -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -L/Users/unhammer/src/macdivvun-service/Dependencies/Static/x86_64/lib -o hfst-ospell main.o lib
hfstospell.la -n -L/usr/local/lib -licui18n -licuuc -licudata
libtool: link: /Applications/Xcode.app/Contents/Developer/usr/bin/g++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -I/Users/unhammer/src/macdivvun-service/Dependencies/Static/x86_64/include -fvisi
bility=hidden -std=c++1z -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -o hfst-ospell main.o -n -Wl,-bind_at_load -L/Users/unhammer/src/macdivvun-service/Dependencies/Static/x86_64/lib ./.libs/lib
hfstospell.a -L/usr/local/lib -licui18n -licuuc -licudata
clang: error: unknown argument: '-n'
make[1]: *** [hfst-ospell] Error 1
make: *** [all] Error 2
-n
来自哪里?我该怎么知道?我正在使用xcodebuild
,但是xcodebuild -showBuildSettings -scheme Dependencies|grep -e -n
什么都没有,我在Makefile.am中的任何标志或者实际(autotools)项目中的configure.ac中看不到-n
。
我查看了生成的Makefile
中构建的实际目标,从$(AM_V_CXXLD)$(hfst_ospell_LINK) $(hfst_ospell_OBJECTS) $(hfst_ospell_LDADD) $(LIBS)
行开始,并递归地手动检查所有变量。最后,我看到LIBS
有-n -L/usr/local/lib -licui18n -licuuc -licudata
。 LIBS
在LIBS = @LIBS@
中是Makefile.in
,所以由configure.ac
设定,它运行icu-config --ldflags
来设置它。
由于某种原因,icu-config --ldflags
的版本(57.1),我给了-n -L/usr/local/lib -licui18n -licuuc -licudata
而不是-L/usr/local/lib -licui18n -licuuc -licudata
。升级icu解决了它。