今天在編譯mksquash_lzma-3.2的時候出現了如下問題:
/home/test/rt288x_sdk/toolchain/mksquash_lzma-3.2/lzma443/c/7zip/compress/lzma_c/libunlzma.a(uncomp.o):在函式『sqlzma_un』中:
uncomp.c:(.text+0x67):對『inflatereset』未定義的引用
uncomp.c:(.text+0xa7):對『inflate』未定義的引用
uncomp.c:(.text+0x1b2):對『zerror』未定義的引用
/home/test/rt288x_sdk/toolchain/mksquash_lzma-3.2/lzma443/c/7zip/compress/lzma_c/libunlzma.a(uncomp.o):在函式『sqlzma_init』中:
uncomp.c:(.text+0x3f0):對『inflateinit_』未定義的引用
collect2: 錯誤: ld 返回 1
make[1]: *** [unsquashfs] 錯誤 1
/home/test/rt288x_sdk/toolchain/mksquash_lzma-3.2/lzma443/c/7zip/compress/lzma_c/libunlzma.a(uncomp.o):在函式『sqlzma_un』中:
uncomp.c:(.text+0x67):對『inflatereset』未定義的引用
uncomp.c:(.text+0xa7):對『inflate』未定義的引用
uncomp.c:(.text+0x1b2):對『zerror』未定義的引用
/home/test/rt288x_sdk/toolchain/mksquash_lzma-3.2/lzma443/c/7zip/compress/lzma_c/libunlzma.a(uncomp.o):在函式『sqlzma_init』中:
uncomp.c:(.text+0x3f0):對『inflateinit_』未定義的引用
collect2: 錯誤: ld 返回 1
make[1]: *** [unsquashfs] 錯誤 1
首先,需要確保安裝了zlib庫。zlib1g,zlib1g-dbg,zlib1g-dev
其次,開啟安裝目錄下的squashfs3.2-r2/squashfs-tools,找到makefile檔案,找到
ldlibs += -lz -l$ -l$
ldlibs += -lz -l$ -l$
把 -lz 去掉,成:
ldlibs += -l$ -l$
ldlibs += -l$ -l$
然後在找到包含ldlibs的兩行,後邊添上 -lz 即可
mksquashfs: ldlibs += -lpthread -lunlzma_r -llzma_r -lstdc++ -lz
unsquashfs: ldlibs += -lunlzma -lz
mksquashfs: ldlibs += -lpthread -lunlzma_r -llzma_r -lstdc++ -lz
unsquashfs: ldlibs += -lunlzma -lz
./configure
make
make install
編譯成功!
mksquash lzma 3 2 編譯問題
今天在編譯mksquash lzma 3.2的時候出現了如下問題 plain view plain copy home test rt288x sdk toolchain mksquash lzma 3.2 lzma443 c 7zip compress lzma c libunlzma.a unc...
mksquash lzma 3 2 編譯除錯記錄
home test rt288x sdk toolchain mksquash lzma 3.2 lzma443 c 7zip compress lzma c libunlzma.a uncomp.o 在函式 sqlzma un 中 uncomp.c text 0x67 對 inflatereset...
STM32的bootloader IAP程式設計
不需要拆機就能對產品進行 韌體公升級 是很多人想要的效果,不僅方便而且節省精力和成本。那麼如何完成這項工作呢?接下來所介紹的 bootloader 就可以完成這項工作,通過 bootloader 引導程式完成韌體的公升級。下面來 stm32 bootloader 設計。首先談談stm32的isp和i...