當前位置:首頁 » 編程軟體 » armopenssl編譯

armopenssl編譯

發布時間: 2023-08-04 16:10:06

『壹』 如何在Windows下構建ARM linux QT開發環境

在PC上,需要得到兩個版本的Qt,分別是:Qt-4.5.2和QtEmbedded-4.5.2-arm。前者包括了QtDesigner等基本工具,用於在PC上對程序的開發調試,使能確保程序放到板子上之前就符合設計的要求;然後用後者的庫將調試好的程序編譯成能在arm-linux平台上運行的程序。

Qt-4.5.2用從網上下載到的qt-x11-opensource-src-4.5.2.tar.gz編譯後安裝得到;QtEmbedded-4.5.2-arm用qt-embedded-linux-opensource-src-4.5.2.tar.gz編譯後安裝得到,Qt-embedded-linux-opensource-src-4.5.2.tar.gz還可以編譯成QtEmbedded-4.5.2-X86,但不需要。在編譯qt-embedded-linux-opensource-src-4.5.2.tar.gz之前,必須准備好arm-linux-gcc交叉編譯工具,用的是arm-linux-gcc-3.4.1。

所以先要准備好的軟體包有:

Pc的操作系統是:LINUX-ubuntu8.04。

下面是具體編譯安裝過程:

1、Qt-4.5.2的獲得將qt-x11-opensource-src-4.5.2.tar.gz復制到目錄:/home/chh/Project/qt,

2、然後解壓

#tarzxvfqt-x11-opensource-src-4.5.2.tar.gz

得到一個新目錄:qt-x11-opensource-src-4.5.2

cd進入這個目錄,准備開始編譯。

3、在終端中這樣操作:

#./configure–qvfb//編譯配置,此過程大概歷時幾分鍾;#make//正式編譯,過程漫長,大概2個多小時;#cdtools/qvfb//進入此目錄,准備對它進行編譯#make//編譯,幾分鍾#cd../..//回到qt-x11-opensource-src-4.5.2主目錄,准備安裝#makeinstall//安裝,十幾分鍾吧;

4、此步必須以root身份完成,否則無法建立目錄

5、可以在/usr/local/下看到一個Trolltech目錄,進入該目錄發現Qt-4.5.2目錄已經出現,進入裡面的bin目錄,Designer等工具已經可以使用了。

6、編譯過程相當費時,所以可以直接拷貝已經編譯過的源碼,直接makeinstall。

7、至此,Qt-4.5.2的安裝已經順利完成。

QtEmbedded-4.5.2-arm的獲得

在編譯安裝qt-embedded-linux-opensource-src-4.5.2之前,必須先配置好arm-linux-gcc,將arm-linux-gcc-3.4.1.tar.bz2解壓到目錄:/usr/local下,此時local下出現一個名為arm的目錄,然後配置好環境變數:在/etc/profile添加一句:exportPATH=$PATH:/usr/local/arm/3.4.1/bin,保存後#source/etc/profile一下,讓它即時生效。否則下面的編譯過程會提示找不到arm-linux-gcc命令。現在可以開始編譯了:

將qt-embedded-linux-opensource-src-4.5.2.tar.gz復制到目錄:/home/chh/Project/qt,然後解壓:#tarzxvfqt-embedded-linux-opensource-src.tar.gz,得到新目錄qt-embedded-linux-opensource-src-4.5.2。

進入qt-embedded-linux-opensource-src-4.5.2目錄,首先進行configure。這里的參數很重要,必不可少的是-embeddedarm,所以最簡單的配置信息可以這樣:

./configure-embeddedarm

然後回車,就開始configure了,參數設置和參考文章一樣,裁減了很多,減少了編譯時間:


./configure-release-shared-fast-no-largefile-qt-sql-sqlite-no-qt3support-no-xmlpatterns-no-mmx-no-3dnow-no-sse-no-sse2-no-svg-no-webkit-qt-zlib-qt-gif-qt-libtiff-qt-libpng-qt-libmng-qt-libjpeg-makelibs-xplatformqws/linux-arm-g++-nomaketools-nomakeexamples-nomakedocs-nomakedemo-no-nis-no-cups-no-iconv-no-dbus-no-openssl-embeddedarm-little-endian-qt-freetype-depths16,18-qt-gfx-linuxfb-no-gfx-transformed-no-gfx-multiscreen-no-gfx-vnc-no-gfx-qvfb-qt-kbd-usb-no-glib


之後就可以編譯了,#make,漫長等待後再#makeinstall。Makeinstall還是需要root許可權。

完成後,在/usr/local/Trolltech下多了一個目錄:QtEmbedded-4.5.2-arm。

『貳』 gdal for android 如何支持 gpkg

編譯環境如下:

ubuntu 16.04 LTS

android-ndk-r18b

GNU Make 4.1

代碼版本如下:

gdal-2.2.3

curl-7.59.0

按照網上的辦法順利對GDAL進行了交叉編譯,坑來了。

利用GDAL的CPLHTTPFetch測試網路抓取功能的時候,沒抓取到文件。測試函數如下:

bool SaveUrl2File(const char* pszUrl, const char* pszFileName)
{
if (CPLHTTPEnabled() != TRUE)
return false;

CPLHTTPResult *pRest = CPLHTTPFetch(pszUrl, NULL);
if (pRest == NULL)
return false;

FILE *pFile = fopen(pszFileName, "wb");
if (pFile == NULL)
return false;

fwrite(pRest->pabyData, sizeof(GByte), pRest->nDataLen, pFile);
fclose(pFile);

CPLHTTPDestroyResult(pRest);
CPLHTTPCleanup();
return true;
}
查看錯誤信息,大概的意思是需要HTTPS支持,查資料得知,需要在編譯curl的時候指定--with-ssl 才能支持HTTPS,然後就開始編譯openssl庫,本來應該是比較容易的一件事,結果整了足足一天,糟糕的是還沒把ssl編譯出來。我用的NDK版本比較高,編譯器是clang,真是沒搞出來,原因是和NDK版本有密切關系,貌似GCC比較容易,clang是google推薦編譯器。之後就從網上找ssl庫,arm64-v8a的ssl不太好找,還好在GITHUB上找到了。

這是成功在curl中集成ssl後的configure輸出,注意最後一行Protocols 中要出現HTTPS,另外在編譯curl的時候要指定ssl的庫目錄,和庫名字,否則鏈接的時候可能會找不到庫。

export LDFLAGS="-L/xxx/xxx/build64dr/openssl/lib" ,指定ssl庫的搜索目錄

export LIBS="-lssl -lcrypto -lz",指定ssl庫名字

GDAL編譯好後,開始測試 SaveUrl2File 函數,測試失敗,提示SSL certificate problem: unable to get local issuer certificate,調用CPLSetConfigOption("GDAL_HTTP_UNSAFESSL", "YES");即可解決,原理就不說了。OK,GDAL在android下可以抓取網路數據了。

『叄』 有大俠在ios下編譯過librtmp的庫文件么

編譯librtmp需要先編譯openssl,因為librtmp依賴openssl

首先編譯openssl:

把以下內容保存為shell腳本

#!/bin/sh

VERSION="1.0.1h" #指明openssl的版本信息,比如下載的是openssl-1.0.1h.tar.gz那麼對於就填寫1.0.1h
SDKVERSION="7.1" #指明ios sdk的版本號,目前最新的是7.1,不清楚的同學可以 ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/ 一下看看自己的iPhoneOS7.1.sdk是不是7.1

CURRENTPATH=`pwd`
ARCHS="i386 armv7 armv7s arm64"
BUILDPATH="${CURRENTPATH}/build"
LIBPATH="${CURRENTPATH}/lib"
INCLUDEPATH="${CURRENTPATH}/include"
SRCPATH="${CURRENTPATH}/src"
LIBSSL="libssl.a"
LIBCRYPTO="libcrypto.a"
DEVELOPER=`xcode-select -print-path`

if [ ! -d "$DEVELOPER" ]; then
echo "xcode path is not set correctly $DEVELOPER does not exist (most likely because of xcode > 4.3)"
echo "run"
echo "sudo xcode-select -switch <xcode path>"
echo "for default installation:"
echo "sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer"
exit 1
fi

set -e
if [ ! -e openssl-${VERSION}.tar.gz ]; then
echo "Downloading openssl-${VERSION}.tar.gz"
curl -O http://www.openssl.org/source/openssl-${VERSION}.tar.gz
else
echo "Using openssl-${VERSION}.tar.gz"

# Remove the source directory if already exist
rm -rf "${SRCPATH}/openssl-${VERSION}"
fi

mkdir -p "${SRCPATH}"
mkdir -p "${BUILDPATH}"
mkdir -p "${LIBPATH}"
mkdir -p "${INCLUDEPATH}"

tar zxf openssl-${VERSION}.tar.gz -C "${SRCPATH}"
cd "${SRCPATH}/openssl-${VERSION}"

LIBSSL_REPO=""
LIBCRYPTO_REPO=""

for ARCH in ${ARCHS}
do
if [ "${ARCH}" == "i386" ];
then
PLATFORM="iPhoneSimulator"
else
sed -ie "s!static volatile sig_atomic_t intr_signal;!static volatile intr_signal;!" "crypto/ui/ui_openssl.c"
PLATFORM="iPhoneOS"
fi
export CROSS_TOP="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer"
export CROSS_SDK="${PLATFORM}${SDKVERSION}.sdk"
export BUILD_TOOLS="${DEVELOPER}"

echo "Building openssl-${VERSION} for ${PLATFORM} ${SDKVERSION} ${ARCH}"
echo "Please stand by..."

export CC="${BUILD_TOOLS}/usr/bin/gcc -arch ${ARCH}"

OUTPATH="${BUILDPATH}/openssl-${PLATFORM}${SDKVERSION}-${ARCH}.sdk"
mkdir -p "${OUTPATH}"
LOG="${OUTPATH}/build-openssl-${VERSION}.log"

if [[ "$VERSION" =~ 1.0.0. ]]; then
./Configure BSD-generic32 --openssldir="${OUTPATH}" > "${LOG}" 2>&1
else
./Configure iphoneos-cross --openssldir="${OUTPATH}" > "${LOG}" 2>&1
fi

# add -isysroot to CC=
sed -ie "s!^CFLAG=!CFLAG=-isysroot ${CROSS_TOP}/Platforms/${PLATFORM}.platform/Developer/SDKs/${CROSS_SDK} -miphoneos-version-min=7.0 !" "Makefile"

make >> "${LOG}" 2>&1
make install >> "${LOG}" 2>&1
make clean >> "${LOG}" 2>&1

LIBSSL_REPO+="${OUTPATH}/lib/${LIBSSL} "
LIBCRYPTO_REPO+="${OUTPATH}/lib/${LIBCRYPTO} "
done

echo "Build library..."
lipo -create ${LIBSSL_REPO}-output ${LIBPATH}/${LIBSSL}
lipo -create ${LIBCRYPTO_REPO}-output ${LIBPATH}/${LIBCRYPTO}

cp -R ${BUILDPATH}/openssl-iPhoneSimulator${SDKVERSION}-i386.sdk/include/openssl ${INCLUDEPATH}/
echo "Building done."
echo "Cleaning up..."
rm -rf ${SRCPATH}/openssl-${VERSION}
echo "Done."

保存腳本,添加腳本的執行許可權(chmod +x 腳本名稱)

運行腳本
不出意外是可以編譯成功的,如果失敗,可以以打開那個log文件,查看失敗原因。

編譯成功以後,把lib文件和include拷貝到你的librtmp目錄(可以新建一個空得librtmp目錄),在librtmp目錄裡面同樣寫一個shell腳本,腳本如下:

#!/bin/sh

SDKVERSION="7.1" #這里跟openssl的地方是一個意思

CURRENTPATH=`pwd`
ARCHS="i386 armv7 armv7s arm64"

LIBPATH="${CURRENTPATH}/lib" #這里就是剛才拷貝過來的目錄,不要修改,因為librtmp最後生成的也放到了這個下面
INCLUDEPATH="${CURRENTPATH}/include" #這里就是剛才拷貝過來的目錄,不要修改,因為librtmp最後生成的也放到了這個下面

LIBRTMPREPO="git://git.ffmpeg.org/rtmpmp"
BUILDPATH="${CURRENTPATH}/build"
SRCPATH="${CURRENTPATH}/src"
LIBRTMP="librtmp.a"
DEVELOPER=`xcode-select -print-path`

if [ ! -d "$DEVELOPER" ]; then
echo "xcode path is not set correctly $DEVELOPER does not exist (most likely because of xcode > 4.3)"
echo "run"
echo "sudo xcode-select -switch <xcode path>"
echo "for default installation:"
echo "sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer"
exit 1
fi

# Check whether openssl has already installed on the machine or not.
# libcrypt.a / libssl.a

set -e
echo 'Check openssl installation'
if [ -f "${LIBPATH}/libcrypto.a" ] && [ -f "${LIBPATH}/libssl.a" ] && [ -d "${INCLUDEPATH}/openssl" ]; then
echo 'Openssl for iOS has already installed, no need to install openssl'
else
echo 'Openssl for iOS not found, will install openssl for iOS'
./build-libssl.sh
echo 'Succeeded to install openssl'
fi

# Download librtmp source code from git repository
# We assuem the user already installed git client.
echo 'Clone librtmp git repository'

# Remove the directory if already exist
rm -rf "${SRCPATH}/rtmpmp"

git clone ${LIBRTMPREPO} src/rtmpmp
cd "${SRCPATH}/rtmpmp/librtmp"

LIBRTMP_REPO=""

for ARCH in ${ARCHS}
do
if [ "${ARCH}" == "i386" ];
then
PLATFORM="iPhoneSimulator"
else
PLATFORM="iPhoneOS"
fi
export CROSS_TOP="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer"
export CROSS_SDK="${PLATFORM}${SDKVERSION}.sdk"
export BUILD_TOOLS="${DEVELOPER}"

echo "Building librtmp for ${PLATFORM} ${SDKVERSION} ${ARCH}"
echo "Please wait..."

# add arch to CC=
sed -ie "s!AR=\$(CROSS_COMPILE)ar!AR=/usr/bin/ar!" "Makefile"
sed -ie "/CC=\$(CROSS_COMPILE)gcc/d" "Makefile"
echo "CC=\$(CROSS_COMPILE)gcc -arch ${ARCH}" >> "Makefile"

export CROSS_COMPILE="${DEVELOPER}/usr/bin/"
export XCFLAGS="-isysroot ${CROSS_TOP}/SDKs/${CROSS_SDK} -miphoneos-version-min=7.0 -I${INCLUDEPATH} -arch ${ARCH}"

if [ "${ARCH}" == "i386" ];
then
export XLDFLAGS="-L${LIBPATH} -arch ${ARCH}"
else
export XLDFLAGS="-isysroot ${CROSS_TOP}/SDKs/${CROSS_SDK} -miphoneos-version-min=7.0 -L${LIBPATH} -arch ${ARCH}"
fi
OUTPATH="${BUILDPATH}/librtmp-${PLATFORM}${SDKVERSION}-${ARCH}.sdk"
mkdir -p "${OUTPATH}"
LOG="${OUTPATH}/build-librtmp.log"

make SYS=darwin >> "${LOG}" 2>&1
make SYS=darwin prefix="${OUTPATH}" install >> "${LOG}" 2>&1
make clean >> "${LOG}" 2>&1

LIBRTMP_REPO+="${OUTPATH}/lib/${LIBRTMP} "
done

echo "Build universal library..."
lipo -create ${LIBRTMP_REPO}-output ${LIBPATH}/${LIBRTMP}

mkdir -p ${INCLUDEPATH}
cp -R ${BUILDPATH}/librtmp-iPhoneSimulator${SDKVERSION}-i386.sdk/include/ ${INCLUDEPATH}/

echo "Building done."
echo "Cleaning up..."

rm -rf ${SRCPATH}/rtmpmp
echo "Done."

保存腳本

運行腳本

不出意外就編譯成功了。

『肆』 Android:Ubuntu編譯OpenSSL步驟

NDK版本:android-ndk-r14b

OpenSSL版本:1.1.1k/3.0.0

Ubuntu版本:15.5

1、配置ndk環境變數
OpenSSL版本:1.1.1k:export ANDROID_NDK_HOME=/home/linrendi/Desktop/Compile/android-ndk-r14b/
OpenSSL版本:3.0.0: export ANDROID_NDK=/home/linrendi/Desktop/Compile/android-ndk-r14b/
如果是
編譯32位:
OpenSSL版本:1.1.1k:1、export PATH= PATH
OpenSSL版本:3.0.0:1、export PATH= PATH
2、./Configure android-arm -D__ANDROID_API__=21 --prefix=/home/linrendi/Desktop/openssl-1.1.1k/armv7a
3、make -j7 && make install
編譯64位:
OpenSSL版本:1.1.1k:1、export PATH= PATH
OpenSSL版本:3.0.0:1、export PATH= PATH
2、./Configure android-arm64 -D__ANDROID_API__=21 --prefix=/home/linrendi/Desktop/openssl-1.1.1k/arm64
3、make -j7 && make install

注意:當編譯完32位後,又想編譯64位,必須重新解壓,避免一些配置沒有更新導致編譯失敗

『伍』 如何使用qt搭建ios開發環境

開始編譯安裝:

一、X11編譯:
1.進入qt-x11-opensource-src-4.5.0源碼目錄。

./configure -no-openssl

在我這里必須加上-no-openssl選項,否則在make過程中,編譯到ssl時會報錯。出錯信息為:

ssl/qsslsocket_openssl_symbols_p.h:264: error: variable or field 『q_sk_free』
declared void
ssl/qsslsocket_openssl_symbols_p.h:264: error: 『STACK』 was
not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:264: error:
『a』 was not declared in this scope

ssl/qsslsocket_openssl_symbols_p.h:265: error: 『STACK』 was not declared in this
scope
ssl/qsslsocket_openssl_symbols_p.h:265: error: 『a』 was not declared
in this scope
……
……

默認安裝路徑為
/usr/local/Trolltech/Qt-4.5.0。可用--prefix 指定其他安裝路徑。

2. gmake
# linux下一般可直接用make代替gmake。如果要加快編譯速度,就加上 -jx ,x表示最大的線程數。

3.
gmake install

二、qt-embedded-x86編譯:

1.進入qt-embedded-linux-opensource-src-4.5.0-x86源碼目錄。
./configure -prefix
/usr/local/Trolltech/QtEmbedded-4.5.0-x86 -embedded x86 -no-openssl -qt-gfx-qvfb
-qt-kbd-qvfb -qt-mouse-qvfb
先後配置了安裝目錄、嵌入式架構(x86)。同時也跟X11版本一樣,配置了
-no-openssl,沒有這一項的話,make的過程中會出現跟編譯X11時一樣的錯誤。再後面的幾項是為了更好的配合qvfb,網上說如果沒有這幾項,安裝好qt-embedded-x86後想在qvfb上調試程序時,會出現類似下面的錯誤:

Error opening buffer device /dev/fb0QScreenLinuxFb::connect: No such
file or directory

2. gmake
跟x11版一樣
3. gamke
install

三、qt-embedded-arm:

與前面兩個不同,在編譯arm版本的qt-embedded前,必須確認已經安裝了交叉工具鏈,編譯過程中要生成許多arm架構的庫,所以必須有arm-linux-gcc、arm-linux-g++等工具。我用的是友善提供的arm-linux-gcc-4.5.1版本。

1. 進入qt-embedded-linux-opensource-src-4.5.0-arm源碼目錄。
./configure -prefix
/usr/local/Trolltech/QtEmbedded-4.5.0-arm -embedded arm -no-openssl
-qt-libpng
指定了安裝路徑、嵌入式架構。同時也跟X11版本一樣,配置了
-no-openssl,沒有這一項的話,make的過程中會出現跟編譯X11時一樣的錯誤。
另外,還增加了一項,
-qt-libpng,這個選項應該是關於png相關的庫,指定用qt自帶的png庫。如果沒有這一項,我這里會出現如下錯誤:

image/qpnghandler.cpp: In member function 'virtual QVariant
QPngHandler::option(QImageIOHandler::ImageOption) const':

image/qpnghandler.cpp:950:35: warning: 'png_info_struct::width' is deprecated
(declared at
/opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:639)

image/qpnghandler.cpp:950:35: warning: 'png_info_struct::width' is deprecated
(declared at
/opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:639)

image/qpnghandler.cpp:950:55: warning: 'png_info_struct::height' is deprecated
(declared at
/opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:640)

image/qpnghandler.cpp:950:55: warning: 'png_info_struct::height' is deprecated
(declared at
/opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:640)

make[1]: *** [.obj/release-shared-emb-arm/qpnghandler.o] 錯誤 1
make[1]:
*** 正在等待未完成的任務....
make[1]: Leaving directory
`/root/qt4.5.0/qt-embedded-linux-opensource-src-4.5.0-arm/src/gui'
make:
*** [sub-gui-make_default-ordered] 錯誤 2

看起來像是我的交叉工具鏈跟這個QT版本匹配的不太好,Qt好像不太兼容交叉工具鏈的png.h頭文件中定義的數據結構。加上 -qt-libpng
可解決此問題。

四、qvfb:
這時QT就已安裝成功。但是還需要額外安裝qvfb。

進入qt-x11-opensource-src-4.5.0源碼包目錄,然後
cd tools/qvfb
在qvfb源碼目錄下運行
make
會在qt-x11-opensource-src-4.5.0/bin下生成qvfb,我們將它至/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin下即可。

end:
到這里,QT的開發環境基本就搭建好了,利用 qt-embedded-x86 和 qvfb
工具可以很方便的調試QT程序,調試好的程序再經 qt-embedded-arm
編譯就可在開發板上運行(還有個小問題,我現在編譯好的QT程序雖然可以在開發板上運行,但是運行時觸摸屏不能用,只能用USB滑鼠控制,想支持觸摸屏貌似還需要移植tslib庫,等我折騰完了再回來把相關內容補充上)。

『陸』 jdk nginx. redis 在arm和x86要分別編譯

一、注意openssl和pcre只需要把源碼解壓縮,不需要單獨交叉編譯!
開始的時候不知道,傻傻的把這兩個庫弄半天把它們編譯過去了。誰知道nginx的--with-pcre和--with-openssl選項,指定的是這兩個庫源代碼的路徑,並非安裝路徑!nginx的編譯系統只會從/usr、/usr/local等少數幾個目錄查找是否有預編譯的pcre、zlib、openssl等庫。對於交叉編譯,直接把交叉編譯後的pcre等安裝在/usr、/usr/local顯然不合適,因此需要使用--with-pcre和--with-openssl指定源代碼的位置

二、交叉編譯nginx
在x64 linux上面編譯非常簡單的nginx,沒想到在交叉編譯的時候巨多坑。下面一個configure是編譯成功的配置

進入/usr/local/src目錄,創建nginx文件夾。入剛創建的nginx目錄,下載nginx的tar包,解壓,進入解壓生成的目錄,進行配置(後面有補充,建議通讀一遍)編譯安裝查找安裝路徑,在執行make編譯時,可以添加要編譯的參數,已安裝完成,比如我現在要新增 http_stub_status_mole 模塊參數,那麼我只要把該參數添加進去然後重新編譯即可,需要注意的是原先編譯過的參數也要加進來。
進入nginx的安裝目錄,因為我安裝的時候沒有添加任何參數,所以這里我只需要執行

我這里只需要這一個模塊,如果你安裝的nginx還使用其他的模塊,記得在上面的編譯命令中加上。
另外,這里只能 make 千萬別 make install,否則就覆蓋安裝了。

  • make完成後,在源碼目錄下會有一個objs目錄,objs目錄下就多了個nginx,這個就是新版本的程序了;

  • 然後將objs目錄下的nginx替換之前已經安裝過的nginx(建議將舊的nginx程序做下備份)


『柒』 arm-linux-gcc編譯openssl、pbc、gmp庫問題

你用的是什麼環境?要麼就是缺少庫,要麼就是缺少資源依懶,都是這些問題!

『捌』 安裝openssl時報錯

應該是執行config時出錯了。可以這樣執行:

./Configure --prefix=/安裝目錄 os/compiler:arm-linux-gcc(交叉編譯工具)

然後檢查一下Makefile,如果Make之後編譯工具不對,需要手動修改一下
CROSS_COMPILE= arm-linux-
CC= $(CROSS_COMPILE)gcc
然後再試試

熱點內容
資料庫的欄位命名規則 發布:2025-02-05 13:53:16 瀏覽:683
固定ip自建伺服器訪問 發布:2025-02-05 13:53:03 瀏覽:740
快速獲取文件夾沒文件 發布:2025-02-05 13:52:19 瀏覽:871
伺服器主機如何家用 發布:2025-02-05 13:52:15 瀏覽:99
安卓應用如何刪除自動下載 發布:2025-02-05 13:52:15 瀏覽:660
c語言switch語句用法 發布:2025-02-05 13:49:16 瀏覽:936
騰訊緩存不了的動畫片怎麼辦 發布:2025-02-05 13:49:12 瀏覽:130
access資料庫調用 發布:2025-02-05 13:45:01 瀏覽:49
如何查詢伺服器所有電腦名 發布:2025-02-05 13:21:38 瀏覽:150
我的世界ec伺服器up主稱號怎麼獲得 發布:2025-02-05 13:21:15 瀏覽:913