我正在交叉編譯爲arm嵌入式系統並收到我有疑問的錯誤。這裏是錯誤:ld查找以查找庫
[ 19%] Built target cxjpeg-6b
Linking CXX shared library /home/botbear/JAUS++-2.110519- src/libraries/jaus++/2.0/lib/libcxutils.so
/home/botbear/openwrt/trunk/staging_dir/toolchain-arm_v6k_gcc-linaro_uClibc- 0.9.32_eabi/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.5.4/../../../../arm-openwrt-linux- uclibcgnueabi/bin/ld: cannot find -lpng
collect2: ld returned 1 exit status
make[2]: *** [/home/botbear/JAUS++-2.110519-src/libraries/jaus++/2.0/lib/libcxutils.so] Error 1
make[1]: *** [libcxutils/CxUtils/libcxutils/CMakeFiles/cxutils.dir/all] Error 2
make: *** [all] Error 2
正如你所看到的鏈接器正在尋找一個名爲'libpng'的靜態庫。除了libpng lib之外,子make文件中的命令使用-l開關鏈接到以下庫:-lpng -lz -lX11 -lXtst -lpthread -Wl。所有庫(libpng,libz,libX11等)都在我的主機/ usr/lib /目錄中,但我的目標工具鏈沒有這些庫。我的問題是,如果我手動重新編譯我的目標編譯器庫將解決我的問題?或者我將爲我的目標平臺找到並安裝每個庫的軟件包。
在此先感謝。
。但重新編譯X11並不是一項簡單的任務。 –
您需要爲您的目標架構編譯所有依賴項。 – juanchopanza