[英]configure test with static lib
我正在嘗試使用zlib在Ubuntu 14.04(x_64)上交叉編譯RaspberryPi的libpng,但配置失敗
配置:11400:arm-linux-gnueabihf-gcc -o conftest -g -O2 -I / home / user / RPI_DEV / lib / include conftest.c -lz -lm>&5 / home / user / RPI_DEV / xtools / arm- bcm2708 / GCC-Linaro的臂-Linux的gnueabihf-raspbian-64 / bin中/../ LIB / GCC /臂-Linux的gnueabihf / 4.8.3 /../../../../臂Linux的-gnueabihf / bin / ld:找不到-lz collect2:錯誤:ld返回1退出狀態配置:11400:$? = 1配置:失敗的程序為:....
因為我將工具鏈用於arm,所以arm-ld無法找到zlib。
是否有任何配置選項不使用共享庫進行編譯,而是嘗試使用靜態庫(例如-static -lz)。
命令是
./configure --enable-static = true --enable-shared = false --with-zlib-include =“ / home / user / RPI_DEV / lib / include” --with-zlib-lib =“ / home / user / RPI_DEV / lib / lib“ LDFLGS =”-L / home / user / RPI_DEV / lib / lib“ CPPFLAGS =”-I / home / user / RPI_DEV / lib / include“ -enable-static --host = arm-linux -gnueabihf --prefix = / home / user / RPI_DEV / lib --exec-prefix = / home / user / RPI_DEV / lib
您需要交叉構建zlib 並將其安裝到您的工具鏈中,然后再嘗試在另一個項目中使用它。
您正在執行的操作可能有效,但前提是您正確拼寫了LDFLAGS:
LDFLGS = “ - L /家庭/用戶/ RPI_DEV / lib目錄/ lib目錄”
注意缺少的“ A”。 考慮到您的拼寫錯誤,我不知道您第二次嘗試為何有效; 您的環境中可能有正確的LDFLAGS?
無論如何,應該在某處有一個Ubuntu交叉開發指南來說明如何執行此操作。 這與主題無關,但是對於Gentoo來說,您可以使用“ crossdev”安裝工具鏈,然后使用Crossdev特定版本的常規軟件包安裝機制([host] -emerge)將zlib安裝到工具鏈中。
另外,我可以找到的任何當前版本的libpng不支持參數--with-zlib-include和--with-zlib-lib。 如果您正在為RPi(或者實際上是任何ARM系統)交叉編譯libpng,則應該使用可以找到的最新版本1.6。
除非有人以正確的方式解決此問題,否則這就是我所做的破解。
AC_CHECK_LIB(z,zlibVersion,,AC_ERROR([未安裝zlib]))
配置將通過wihout檢查zlib,然后手動添加zlib
LDFLGS =“-L / home / user / RPI_DEV / lib / lib -L / home / user / RPI_DEV / lib / lib / libz.a”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.