0

Beagleboard-Xm、カーネルでコンパイルしています:

root@beagleboard:~# uname -a
Linux beagleboard 2.6.32 #3 PREEMPT Tue Jul 26 10:56:56 CEST 2011 armv7l unknown

私は今、CMakeを使用して静的ライブラリをコンパイルしようとしていますが、ライブラリのリンクに関しては、すべてが正常に機能しています。

root@beagleboard:/usr/src/build/beaglebuild# make
Scanning dependencies of target phoenix_base
[  2%] Building CXX object 00_phoenix_base/CMakeFiles/phoenix_base.dir/src/exec_buffer.cpp.o
[  5%] Building CXX object 00_phoenix_base/CMakeFiles/phoenix_base.dir/src/func_buffer.cpp.o
[  8%] Building CXX object 00_phoenix_base/CMakeFiles/phoenix_base.dir/src/worker.cpp.o
[ 11%] Building CXX object 00_phoenix_base/CMakeFiles/phoenix_base.dir/src/workermanager.cpp.o
[ 14%] Building CXX object 00_phoenix_base/CMakeFiles/phoenix_base.dir/src/command.cpp.o
[ 17%] Building CXX object 00_phoenix_base/CMakeFiles/phoenix_base.dir/src/logger.cpp.o
[ 20%] Building CXX object 00_phoenix_base/CMakeFiles/phoenix_base.dir/src/signal.cpp.o
Linking CXX static library libphoenix_base.a
BusyBox v1.13.2 (2011-02-25 16:46:47 CET) multi-call binary

Usage: ar [-o] [-v] [-p] [-t] [-x] ARCHIVE FILES

Extract or list FILES from an ar archive

Options:
    -o  Preserve original dates
    -p  Extract to stdout
    -t  List
    -x  Extract
    -v  Verbose

make[2]: *** [00_phoenix_base/libphoenix_base.a] Error 1
make[1]: *** [00_phoenix_base/CMakeFiles/phoenix_base.dir/all] Error 2
make: *** [all] Error 2

私の場合、「ar--help」は同じものを出力します。

ボード上でリンクを実行する方法はありますか?問題は何ですか?

他のいくつかのシステムバージョン:

root@beagleboard:~# cmake --version
cmake version 2.8.2
root@beagleboard:~# g++ --version
g++ (GCC) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
4

1 に答える 1

0

多くのトラブルの後、私は完全に最新バージョンのarをクロスコンパイルし(ボード上のものは時代遅れだったと思います)、BusyBoxを取り除きました。

これで、すべてが期待どおりに機能します。

于 2013-02-22T20:24:19.553 に答える