2016-04-25 25 views
0

WindowsでAsterisk PBXをビルドしたいのですが、cygwinを使用すると可能です。cygwinでWindowsでAsteriskをコンパイルしようとしましたが、libuuidが見つかりません

configureスクリプトは、UUIDライブラリにuuid_generate_random方法を見つけることではない文句。

だから私は、少しテストプログラムを作成しようとしました:

#include <uuid/uuid.h> 

int main() 
{ 
    uuid_t out; 
    uuid_generate_random(out); 
    return 0; 
} 

このプログラムは、このコマンドを使用してコンパイルされている:gccのuuid.cは

を-luuid私は変更するかのように-luuidが、作品に思えますこの値(-luuidXのような)gccは、uuidXライブラリを見つけることができないという事実について不平を言う。

しかし、LDのパスが機能していない:私は回避するために管理されますが、これは本当にきれいではない、と私はconfigureスクリプトは、この微調整を取るようにする方法がわからない

$ gcc uuid.c -luuid 
/tmp/ccu0oh9q.o:uuid.c:(.text+0x16): undefined reference to `uuid_generate_random' 
collect2: error: ld returned 1 exit status 

gcc -o uuid.exe uuid.o /cygdrive/c/cygwin/lib/libuuid.dll.a 

問題から来るん任意のアイデア?

ありがとうございました。

を追加しました:冗長gccの出力

gcc -v uuid.c -luuid 
Using built-in specs. 
COLLECT_GCC=gcc 
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-cygwin/5.3.0/lto-wrapper.exe 
Target: i686-pc-cygwin 
Configured with: /cygdrive/i/szsz/tmpp/gcc/gcc-5.3.0-4.i686/src/gcc-5.3.0/configure --srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-5.3.0-4.i686/src/gcc-5.3.0 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=i686-pc-cygwin --host=i686-pc-cygwin --target=i686-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit --with-dwarf2 --with-arch=i686 --with-tune=generic --disable-sjlj-exceptions --enable-languages=ada,c,c++,fortran,java,lto,objc,obj-c++ --enable-graphite --enable-threads=posix --enable-libatomic --enable-libcilkrts --enable-libgomp --enable-libitm --enable-libquadmath --enable-libquadmath-support --enable-libssp --enable-libada --enable-libjava --enable-libgcj-sublibs --disable-java-awt --disable-symvers --with-ecj-jar=/usr/share/java/ecj.jar --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible 
Thread model: posix 
gcc version 5.3.0 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=i686' 
/usr/lib/gcc/i686-pc-cygwin/5.3.0/cc1.exe -quiet -v -Dunix -idirafter /usr/lib/../include/w32api -idirafter /usr/lib/gcc/i686-pc-cygwin/5.3.0/../../../../i686-pc-cygwin/lib/../../include/w32api uuid.c -quiet -dumpbase uuid.c -mtune=generic -march=i686 -auxbase uuid -version -o /tmp/ccVIcgnD.s 
GNU C11 (GCC) version 5.3.0 (i686-pc-cygwin) 
     compiled by GNU C version 5.3.0, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 
ignoring nonexistent directory "/usr/local/include" 
ignoring nonexistent directory "/usr/lib/gcc/i686-pc-cygwin/5.3.0/include-fixed" 
ignoring nonexistent directory "/usr/lib/gcc/i686-pc-cygwin/5.3.0/../../../../i686-pc-cygwin/include" 
ignoring duplicate directory "/usr/lib/gcc/i686-pc-cygwin/5.3.0/../../../../i686-pc-cygwin/lib/../../include/w32api" 
#include "..." search starts here: 
#include <...> search starts here: 
/usr/lib/gcc/i686-pc-cygwin/5.3.0/include 
/usr/include 
/usr/lib/../include/w32api 
End of search list. 
GNU C11 (GCC) version 5.3.0 (i686-pc-cygwin) 
     compiled by GNU C version 5.3.0, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 
Compiler executable checksum: f4218c97435c4e66cb956a0e671020d7 
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=i686' 
/usr/lib/gcc/i686-pc-cygwin/5.3.0/../../../../i686-pc-cygwin/bin/as.exe -v -o /tmp/cc0dlffC.o /tmp/ccVIcgnD.s 
GNU assembler version 2.25.2 (i686-pc-cygwin) using BFD version (GNU Binutils) 2.25.2 
COMPILER_PATH=/usr/lib/gcc/i686-pc-cygwin/5.3.0/:/usr/lib/gcc/i686-pc-cygwin/5.3.0/:/usr/lib/gcc/i686-pc-cygwin/:/usr/lib/gcc/i686-pc-cygwin/5.3.0/:/usr/lib/gcc/i686-pc-cygwin/:/usr/lib/gcc/i686-pc-cygwin/5.3.0/../../../../i686-pc-cygwin/bin/ 
LIBRARY_PATH=/usr/lib/gcc/i686-pc-cygwin/5.3.0/:/usr/lib/gcc/i686-pc-cygwin/5.3.0/../../../../i686-pc-cygwin/lib/:/usr/lib/:/lib/:/usr/lib/w32api/ 
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=i686' 
/usr/lib/gcc/i686-pc-cygwin/5.3.0/collect2.exe -plugin /usr/lib/gcc/i686-pc-cygwin/5.3.0/cyglto_plugin.dll -plugin-opt=/usr/lib/gcc/i686-pc-cygwin/5.3.0/lto-wrapper.exe -plugin-opt=-fresolution=/tmp/ccFo5pxm.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lcygwin -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --wrap _Znwj --wrap _Znaj --wrap _ZdlPv --wrap _ZdaPv --wrap _ZnwjRKSt9nothrow_t --wrap _ZnajRKSt9nothrow_t --wrap _ZdlPvRKSt9nothrow_t --wrap _ZdaPvRKSt9nothrow_t -Bdynamic --dll-search-prefix=cyg --large-address-aware --tsaware /usr/lib/crt0.o /usr/lib/gcc/i686-pc-cygwin/5.3.0/crtbegin.o -L/usr/lib/gcc/i686-pc-cygwin/5.3.0 -L/usr/lib/gcc/i686-pc-cygwin/5.3.0/../../../../i686-pc-cygwin/lib -L/usr/lib/w32api /tmp/cc0dlffC.o -luuid -lgcc_s -lgcc -lcygwin -ladvapi32 -lshell32 -luser32 -lkernel32 -lgcc_s -lgcc /usr/lib/default-manifest.o /usr/lib/gcc/i686-pc-cygwin/5.3.0/crtend.o 
/tmp/cc0dlffC.o:uuid.c:(.text+0x16): undefined reference to `uuid_generate_random' 
collect2: error: ld returned 1 exit status 
+0

'gccのuuid.c -luuid'は、私の作品のよう。 'gcc -v uuid.c -luuid'を試して、オプションが一致しないことを確認してください。 – matzeri

+0

ありがとう@matzeri、私は私の質問を変更しました。 –

+1

私は自分自身を訂正します。 64ビットで動作しますが、32ビットでは動作しません。 cygwinのメーリングリストで質問をすることをお勧めします。 'https:// cygwin.com/cygwin/lists.html'これはパッケージエラーのようです。 – matzeri

答えて

関連する問題