1.AI视频识别必备编译环境

 

AI视频识别必备编译环境

一、错误问题 ***************************************

configure: error: –with-openssl was given but OpenSSL could not be detected

configure: PKG_CONFIG_LIBDIR will be set to “/opt/openAI/Lib64U/lib64/pkgconfig”
checking for pkg-config… no
checking for HMAC_Update in -lcrypto… no
checking for HMAC_Init_ex in -lcrypto… no
checking OpenSSL linking with -ldl… no
checking OpenSSL linking with -ldl and -lpthread… no
configure: OPT_OPENSSL: /opt/openAI/Lib64U
configure: OPENSSL_ENABLED:
configure: error: –with-openssl was given but OpenSSL could not be detected

一、错误问题 ***************************************

configure: error: –with-openssl was given but OpenSSL could not be detected

一、必须安装依赖包

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install pkg-config -y
sudo apt-get install pkgconf -y
sudo apt-get install git -y

sudo apt-get update -y  && sudo apt-get upgrade -y
sudo apt-get install pkg-config -y
sudo apt-get install pkgconf -y
sudo apt-get install git -y
sudo apt-get install cmake -y

 

 

libtool: error: cannot determine absolute directory name of ‘–with-openssl=/opt/openAI/Lib64U/lib’

apt install libtool -y
**************************************************************}}}}}}}}}}}}}}}}}}}}}}}}}}

在Linux中,删除目录中的文件夹和文件的方法其实很简单,使用rm -rf命令即可。 -r 向下递归,不管有多少级目录,一并删除。 -f 直接强行删除,没有任何提示
一、
http://www.tkxiong.com/archives/2193
【编译】TCMalloc, jsoncpp, nghttp2, openssl, curl
linux
【编译】TCMalloc, jsoncpp, nghttp2, openssl, curl

root@iZj6cf59ewjbvh4fuhmj9vZ:~/curl/zlib/zlib# locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_PAPER=”en_US.UTF-8″
LC_NAME=”en_US.UTF-8″
LC_ADDRESS=”en_US.UTF-8″
LC_TELEPHONE=”en_US.UTF-8″
LC_MEASUREMENT=”en_US.UTF-8″
LC_IDENTIFICATION=”en_US.UTF-8″
LC_ALL=

***************************************************************
一、更新Ubuntu-20.04系统

必须安装依赖包

sudo apt-get update -y  && sudo apt-get upgrade -y
sudo apt-get install pkg-config -y
sudo apt-get install pkgconf -y
sudo apt-get install git -y
sudo apt-get install cmake -y

sudo mkdir /opt/openAI/
sudo mkdir /opt/openAI/Lib64U/
http://192.168.110.15

8.210.227.192
2、
scp复制到: /opt/openAI/
cacert
cJSON
gbkutf8
libb64
005.jpg
***********************************************************
二、linux 安装配置 zlib 1.3
1)、

sudo mkdir /opt/curl
2)

cd /opt/curl
3)

sudo mkdir /opt/zlib

sudo mkdir /opt/openAI/Lib64U

cd /opt/openAI/Lib64U/

3)ok
sudo git clone -b v1.3 https://github.com/madler/zlib.git
cd /opt/zlib
sudo ./configure –prefix=/opt/openAI/Lib64U/
make &&make install

4)必须设置
sudo ln -s /opt/openAI/Lib64U/lib/libz.so.1.3 /usr/lib/x86_64-linux-gnu/libz.so.1.3
sudo ln -s /opt/openAI/Lib64U/lib/libz.so.1.3 /usr/lib/x86_64-linux-gnu/libz.so.1
sudo ln -s /opt/openAI/Lib64U/lib/libz.so.1.3 /usr/lib/x86_64-linux-gnu/libz.so
***************************************************************************
其他:del
ln -s /opt/openAI/Lib64U/lib/libz.so.1.3 /usr/lib64/libz.so.1.3
ln -s /opt/openAI/Lib64U/lib/libz.so.1.3 /usr/lib64/libz.so.1
ln -s /opt/openAI/Lib64U/lib/libz.so.1.3 /usr/lib64/libz.so
********************************************************************************

其他:del
git clone -b v1.3 https://github.com/madler/zlib.git
cd zlib
cmake CMakeLists.txt -DCMAKE_INSTALL_PREFIX=/opt/openAI/Lib64U/
make && make install

tar -zxvf zlib-1.3.tar.gz
cd zlib-1.3
*************************************************************
二、linux 安装配置 openssl 3.2.0-dev
1)

sudo mkdir /opt/openssl
cd /opt/openssl
# https://github.com/openssl/openssl
# openssl 3.2.0 git clone https://github.com/openssl/openssl.git
# 下载tag,clone 指定版本 git clone -b openssl-3.1.2 https://github.com/openssl/openssl.git

#git clone https://github.com/openssl/openssl.git

sudo git clone -b openssl-3.1.3 https://github.com/openssl/openssl.git

sudo tar -zcvf openssl-3.1.3.tar.gz openssl

2)# mkdir openssl
cd openssl

3)
sudo ./config shared –prefix=/opt/openAI/Lib64U –openssldir=/opt/openAI/Lib64U/ssl

4
sudo make && sudo make install
sudo make clean

5、必须设置
sudo ln -s /opt/openAI/Lib64U/lib64/libssl.so.3 /usr/lib/libssl.so.3
sudo ln -s /opt/openAI/Lib64U/lib64/libcrypto.so.3 /usr/lib/libcrypto.so.3

sudo cp /opt/openAI/Lib64U/lib64/libcrypto.so.3 /lib/x86_64-linux-gnu/libcrypto.so.3

 

#修改软连接 ln s /usr/local/ssl/bin/openssl /usr/bin/openssl ln s /usr/local/ssl/include/openssl /usr/include/openssl

ln s /opt/openAI/Lib64U/lib  /usr/bin/openssl

ln s /opt/openAI/Lib64U/include/openssl  /usr/include/openssl

 

sudo ln -s /opt/openAI/Lib64U/lib64/libcrypto.so.3  /usr/lib/x86_64-linux-gnu/libcrypto.so.3

/opt/openAI/Lib64U/
cd /opt/openAI/Lib64U/

cd /opt/openAI/Lib64U/bin

steven_roc@Administrator:/opt/openAI/Lib64U/bin$ ./openssl version
OpenSSL 3.1.3 19 Sep 2023 (Library: OpenSSL 3.1.3 19 Sep 2023)

6)
/opt/openAI/Lib64U/bin/./openssl version
******************************************************
其他:
https://developers.refinitiv.com/en/article-catalog/article/how-to-build-openssl-and-curl-libraries-on-linux
How to Build OpenSSL, zlib, and cURL Libraries on Linux
如何在 Linux 上构建 OpenSSL、zlib 和 cURL 库
*******************************************************************
D:\work2022\606WindowsDevToolCode\018pkg-config 002 doxygen\001 pkg-config

export LD_LIBRARY_PATH=/opt/openAI/Lib64U/lib:/usr/local/lib64

ln -s /opt/openAI/Lib64U/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /opt/openAI/Lib64U/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3

https://www.openssl.org/source/openssl-1.1.1l.tar.gz
wget –no-check-certificate https://www.openssl.org/source/openssl-1.1.1l.tar.gz
tar zxvf Download/openssl-1.1.1l.tar.gz

cd /root/curl/openssl-1.1.1l/
cd /root/curl
ldconfig /usr/local/lib64/
*******************************************************************
四、linux 安装配置 curl-8.4.0
临时编译目录
cd /opt/openAI/Lib64U/
cd /opt/
1)
cd /root/curl
2)# git clone https://github.com/curl/curl.git
wget –no-check-certificate https://curl.se/download/curl-8.4.0.tar.gz
3)

sudo chmod -R 777 /opt/curl

tar -zxvf curl-8.4.0.tar.gz
4)
cd /opt/curl-8.4.0/
5)、
./configure –prefix=/opt/openAI/Lib64U/ \
–with-openssl=/opt/openAI/Lib64U \
–with-zlib=/opt/openAI/Lib64U\
–disable-shared

./configure –enable-shared –prefix=/opt/openAI/Lib64U/ –with-zlib=/opt/openAI/Lib64U –with-openssl=/opt/openAI/Lib64U –without-ssl
./configure –enable-shared –prefix=/opt/openAI/Lib64U –with-openssl=/opt/openAI/Lib64U –with-zlib=/opt/openAI/Lib64U
./configure –disable-shared –prefix=/opt/openAI/Lib64U –with-openssl=/opt/openAI/Lib64U –with-zlib=/opt/openAI/Lib64U

./configure –enable-shared –prefix=/opt/openAI/Lib64U –with-openssl=/opt/openAI/Lib64U –with-ssl=/opt/openAI/Lib64U/ssl –with-zlib=/opt/openAI/Lib64U
./configure –enable-shared –prefix=/opt/openAI/Lib64U –with-ssl=/opt/openAI/Lib64U/ssl –with-zlib=/opt/openAI/Lib64U

./configure -prefix= –prefix=/opt/openAI/Lib64U CFLAGS=”-fPIC” –with-openssl=/opt/openAI/Lib64U -with-ssl=/opt/openAI/Lib64U -with-zlib=–with-openssl=/opt/openAI/Lib64U
6)、
./configure -prefix= –prefix=/opt/openAI/Lib64U –with-openssl=/opt/openAI/Lib64U –with-ssl=/opt/openAI/Lib64U/ssl -with-zlib=/opt/openAI/Lib64U

-ldl and -lpthread
7)use******************
export OPENSSL_LIBRARIES=/opt/openAI/Lib64U/lib
export OPENSSL_CRYPTO_LIBRARY=/opt/openAI/Lib64U/lib64
export OPENSSL_SSL_LIBRARY=/opt/openAI/Lib64U/lib64
export OPENSSL_DIR=/opt/openAI/Lib64U/ssl

8)
./configure -prefix= –prefix=/opt/openAI/Lib64U CFLAGS=”-ldl -lpthread” –with-openssl=/opt/openAI/Lib64U –with-ssl=/opt/openAI/Lib64U/ssl -with-zlib=–with-openssl=/opt/openAI/Lib64U

./configure -prefix= –prefix=/opt/openAI/Lib64U –with-openssl=/opt/openAI/Lib64U –with-ssl=/opt/openAI/Lib64U/ssl –with-zlib=/opt/openAI/Lib64U

./configure -prefix= –prefix=/opt/openAI/Lib64U –with-openssl=/opt/openAI/Lib64U –with-zlib=/opt/openAI/Lib64U
./configure -prefix= –prefix=/opt/openAI/Lib64U –with-openssl=/opt/openAI/Lib64U –with-ssl=/opt/openAI/Lib64U/ssl –with-zlib=/opt/openAI/Lib64U

./configure -prefix= –prefix=/opt/openAI/Lib64U CFLAGS=”-ldl -lpthread” –with-openssl=/opt/openAI/Lib64U –with-zlib=/opt/openAI/Lib64U
*************************************************************************{{{{{{
6)、
./configure –prefix=/opt/openAI/Lib64U  –with-openssl=/opt/openAI/Lib64U –with-ssl=/opt/openAI/Lib64U/ssl -with-zlib=/opt/openAI/Lib64U

sudo ./configure –enable-shared -prefix=/opt/openAI/Lib64U   –with-openssl=/opt/openAI/Lib64U –with-ssl=/opt/openAI/Lib64U/ssl –with-zlib=/opt/openAI/Lib64U

sudo ./configure –disable-shared -prefix=/opt/openAI/Lib64U –with-openssl=/opt/openAI/Lib64U –with-ssl=/opt/openAI/Lib64U/ssl –with-zlib=/opt/openAI/Lib64U

sudo ./configure –prefix=/opt/openAI/Lib64U –with-openssl=/opt/openAI/Lib64U –with-ssl=/opt/openAI/Lib64U/ssl –with-zlib=/opt/openAI/Lib64U

./configure –prefix=/opt/openAI/Lib64U–with-openssl=/opt/openAI/Lib64U–with-ssl=/opt/openAI/Lib64U/ssl–with-zlib=/opt/openAI/Lib64U

./configure –prefix=/opt/openAI/Lib64U –with-openssl=/opt/openAI/Lib64U –with-ssl=/opt/openAI/Lib64U/ssl –with-zlib=/opt/openAI/Lib64U

***************************************************************************}}}}}}}}}}
sudo make && sudo make install

make && make install

make clean

make disclean

cd  /opt/openAI/Lib64U/bin

root@iZj6cf59ewjbvh4fuhmj9vZ:/opt/openAI/Lib64U/bin# ./curl –version

curl 8.4.0 (x86_64-pc-linux-gnu) libcurl/8.4.0 OpenSSL/3.1.3 zlib/1.3
Release-Date: 2023-10-11
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS HSTS HTTPS-proxy IPv6 Largefile libz NTLM SSL threadsafe TLS-SRP UnixSockets

6)

make && make install
make distclean
make clean
make && make install
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{del cmake
7)cmake 编译***********
cmake CMakeLists.txt -D CMAKE_BUILD_TYPE=Release -D CMAKE_POSITION_INDEPENDENT_CODE=ON -D CURL_USE_OPENSSL=ON -D OPENSSL_INCLUDE_DIR=”/opt/openAI/Lib64U/include” -D OPENSSL_LIBRARIES=”/opt/openAI/Lib64U/lib” -D OPENSSL_CRYPTO_LIBRARY=”/opt/openAI/Lib64U/lib64/libcrypto.a” -D OPENSSL_SSL_LIBRARY=”/opt/openAI/Lib64U/lib64/libssl.a” -D ZLIB_INCLUDE_DIR=”/opt/openAI/Lib64U/include” -D ZLIB_LIBRARY_RELEASE=”/opt/openAI/Lib64U/lib/libz.a” -D BUILD_SHARED_LIBS=ON

cmake .. -B “x64dllDebugZlibOpenSSLUnicode” -D CMAKE_BUILD_TYPE=Release -D CMAKE_POSITION_INDEPENDENT_CODE=ON -D CURL_USE_OPENSSL=ON -D OPENSSL_INCLUDE_DIR=”/opt/openAI/Lib64U/include” -D OPENSSL_LIBRARIES=”/opt/openAI/Lib64U/lib” -D OPENSSL_CRYPTO_LIBRARY=”/opt/openAI/Lib64U/lib64/libcrypto.a” -D OPENSSL_SSL_LIBRARY=”/opt/openAI/Lib64U/lib64/libssl.a” -D ZLIB_INCLUDE_DIR=”/opt/openAI/Lib64U/include” -D ZLIB_LIBRARY_RELEASE=”/opt/openAI/Lib64U” -D BUILD_SHARED_LIBS=ON

cmake –build x64dllDebugZlibOpenSSLUnicode –config release –target INSTALL -j 8
cmake –build x64dllDebugZlibOpenSSLUnicode –config release –target INSTALL

cmake –build x64dllDebugZlibOpenSSLUnicode –target INSTALL
cmake –build x64dllDebugZlibOpenSSLUnicode
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}]del cmake
8)
./curl –version
/opt/openAI/Lib64U/bin/./curl -V
/opt/openAI/Lib64U/bin/./curl -vvv https://www.baidu.com –cacert /opt/openAI/cacert/cacert.pem

9)
configure: PKG_CONFIG_LIBDIR will be set to “/opt/openAI/Lib64U/lib64/pkgconfig”
checking for pkg-config… no
checking for HMAC_Update in -lcrypto… no
checking for HMAC_Init_ex in -lcrypto… no
checking OpenSSL linking with -ldl… no
checking OpenSSL linking with -ldl and -lpthread… no
configure: OPT_OPENSSL: /opt/openAI/Lib64U
configure: OPENSSL_ENABLED:
configure: error: –with-openssl was given but OpenSSL could not be detected

*********************************************************************************************************************
7)
/opt/openAI/Lib64U/bin/./curl -V
/opt/openAI/Lib64U/bin/curl -V
ls -l /opt/openAI/Lib64U/lib
ls -l /opt/openAI/Lib64U/bin

steven_roc@Administrator:~$ /opt/openAI/Lib64U/bin/curl -V
curl 8.4.0 (x86_64-pc-linux-gnu) libcurl/8.4.0 OpenSSL/3.1.3 zlib/1.3
Release-Date: 2023-10-11
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS HSTS HTTPS-proxy IPv6 Largefile libz NTLM SSL threadsafe TLS-SRP UnixSockets

8)
gcc ./curl_test.c ./libcurl.a -DCURL_STATICLIB -lpthread
gcc -I/usr/local/curl/include -o out main.c -L/usr/local/curl/lib -lcurl -lpthread -ldl

gcc curl_test.c /opt/openAI/Lib64U/lib/libcurl.a -DCURL_STATICLIB -lpthread
gcc curl_test.c /opt/openAI/Lib64U/lib/libcurl.a /opt/openAI/Lib64U/lib/libz.a /opt/openAI/Lib64U/lib64/libcrypto.a -lcrypto /opt/openAI/Lib64U/lib64/libcrypto.a -lcrypto /opt/openAI/Lib64U/lib64/libssl.a -DCURL_STATICLIB -lpthread

9)、******************
/opt/openAI/Lib64U/lib

mkdir GetJPGAISend
cd /root/curl/GetJPGAISend
cd
10)
gcc -I/opt/openAI/Lib64U/include -o sendserver sendserver.gb2312.c -L/opt/openAI/Lib64U/lib -lcurl -lpthread -ldl
gcc -I/opt/openAI/Lib64U/include -o sendserver sendserver.gb2312.c -finput-charset=GB2312 -fexec-charset=GB2312 -fwide-exec-charset=UCS-4BE -L/opt/openAI/Lib64U/lib -lcurl -lpthread -ldl
———————————————————————————————-
gcc -I/opt/openAI/Lib64U/include -o sendserver sendserver.gb2312.c -L/opt/openAI/Lib64U/lib -lcurl -lpthread -ldl

gcc -I/opt/openAI/Lib64U/include -o gbkutf8 gbkutf8.c -L/opt/openAI/Lib64U/lib -lcurl -lpthread -ldl
./gbkutf8
11)、
gcc -I/opt/openAI/Lib64U/include -o sendserver sendserver.gb2312.c -finput-charset=GB2312 -fexec-charset=GB2312 -fwide-exec-charset=UCS-4BE -L/opt/openAI/Lib64U/lib -lcurl -lpthread -ldl
gcc TestMain.cpp -finput-charset=GB2312 -fexec-charset=GB2312 -fwide-exec-charset=UCS-4BE

gcc -I/opt/openAI/Lib64U/include -finput-charset=GBK -fexec-charset=GBK -o sendserver sendserver.gb2312.c -L/opt/openAI/Lib64U/lib

cc -I/opt/openAI/Lib64U/include -finput-charset=UTF-8 -fexec-charset=UTF-8 gbkutf8 gbkutf8.c -L/opt/openAI/Lib64U/liUTF–lcurl -lpthread -ldl

{{{{{{{{{{{{{{{{{{{{**********************************************
https://blog.csdn.net/qq_21792169/article/details/50379275
用C语言实现中文到unicode码的转换
编译:gcc -finput-charset=GBK -fexec-charset=UTF-8 -o main main.c

上面的编译命令你照做就可以了,如果你不带上面的参数编译会报错,如下:

main.c:8:24: error: converting to execution character set: Invalid or incomplete multibyte or wide character

这是编码的问题,如果你在windos上编写代码保存的格式是GBK,gcc的编码格式默认是UTF-8。

源文件用不同的编码方式编写,会导致执行结果不一样。

man gcc , /charset /*查看gcc的编码格式解析编码和运行编码*/
-finput-charset=charset 表示源文件的编码方式, 默认以UTF-8来解析
-fexec-charset=charset 表示可执行程序里的字时候以什么编码方式来表示,默认是UTF-8
}}}}}}}}}}}}}}}}}}}}
11)
./sendserver
12)
gcc -I/opt/openAI/Lib64U/include -o gbkutf8 gbkutf8.c -L/opt/openAI/Lib64U/lib -lcurl -lpthread -ldl
./gbkutf8

AAAAAAA utf8: 我要变<=>9 gbkbuffer: ϒҪ±⺽>6
BBBBBB gbk: 王我要变<=>9 utf8buffer: 鐜嬫垜瑕<=>12

setlocale(LC_ALL, “en_GB.UTF-8”)
gbk: gbk中文转utf8<=>16
gbk: gbk中文转utf8<=>16
utf8 ************ utf8 姝e父鏄剧ず涓枃濡備笅锛 gbk涓枃杞瑄tf8<=>18

gbk 中文字节长度:16
67 62 6B E4 B8 AD E6 96 87 E8 BD AC 75 74 66 38
utf8 中文字节长度:18
67 62 6B E6 B6 93 E6 9E 83 E6 9D 9E E7 91 84 74 66 38
———————————————–
AAAAAAA utf8: 我要变<=>9 gbkbuffer: Ҫ <=>6
BBBBBB gbk: Ҫ <=>9 utf8buffer: 王我要变<=>13

setlocale(LC_ALL, “en_GB.UTF-8″)
gbk: gbk中文转utf8<=>13
gbk: gbk中文转utf8<=>13
utf8 ************ utf8 正常显示中文如下: gbk中文转utf8<=>16

gbk 中文字节长度:13
67 62 6B D6 D0 CE C4 D7 AA 75 74 66 38
67 62 6B D6 D0 CE C4 D7 AA 75 74 66 38
67 62 6B E4 B8 AD E6 96 87 E8 BD AC 75 74 66 38
utf8 中文字节长度:16
67 62 6B E4 B8 AD E6 96 87 E8 BD AC 75 74 66 38

export LANG=”zh_CN.GBK”
export LC_CTYPE=”zh_CN.GBK”
export LANGUAGE=”zh_CN.GBK”
UTF-8
export LANG=”zh_CN.UTF8″
export LC_CTYPE=”zh_CN.UTF8″
export LANGUAGE=”zh_CN.UTF8″

export LC_ALL=”zh_CN.GBK”

 

您可能还喜欢...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注