ssh make cmake

Xshell7生成公钥私钥
中文

apt-get update
apt-get uprgrade

一、openssh 登陆
3)
https://www.cnblogs.com/everfight/p/ssh_permission.html
ssh “permissions are too open” error

Linux
chmod 400 ~/.ssh/id_rsa
ssh -i /root/id_rsa_2048.private root@8.210.227.192 -p 22

101.132.164.124
root@101.132.164.124:22

 

sudo apt-get update
sudo apt-get upgrade

一、openssh 登陆
3)
https://www.cnblogs.com/everfight/p/ssh_permission.html
ssh “permissions are too open” error

Linux
chmod 400 ~/.ssh/id_rsa
ssh -i /root/id_rsa_2048.private root@8.210.227.192 -p 22

ssh -i C:/Users/steven_roc/.ssh/id_rsa_2048.private root@8.210.227.192 -p 22
登陆成功如下:
Enter passphrase for key ‘C:/Users/steven_roc/.ssh/id_rsa_2048.private’:
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-47-generic x86_64)

D:\work2022\LibDll\Lib64\bin\curl -vvv -u root: –key D:\work2022\LibDll\Lib64\bin\cacert\id_rsa_2048.private –pass xiaochen478-= sftp://8.210.227.192:22/root/curl/GetJPGAISend/ –ftp-create-dirs

二、ssh openssh 密钥登陆 sft上传文件到指定目录
D:\work2022\LibDll\Lib64\bin\curl -vvv -u root: –key cacert\id_rsa_2048.private –pass xiaochen478-= sftp://8.210.227.192:22/root/curl/GetJPGAISend/
curl -vvv -u root: –key cacert\id_rsa_2048.private –pass xiaochen478-= sftp://8.210.227.192:22/root/curl/GetJPGAISend/ -a -T “d:\\BaiduSyncdisk\\011 Ubuntu Linux MacOS curl\\002 linuxCurl\\GetJPGSendServer\\gbkutf8.c” –ftp-create-dirs

curl -k “sftp://172.20.131.63/tmp/” –user “steven_roc:zhonjinNB-=” -T “005wup.jpg” –ftp-create-dirs

D:\work2022\LibDll\Lib64\bin\curl -vvv -u root: –key D:\work2022\LibDll\Lib64\bin\cacert\id_rsa_2048.private –pass xiaochen478-= ”sftp://8.210.227.192:22/root/curl/GetJPGAISend/“ -T “d:\\中文.txt” –ftp-create-dirs

curl -vvv -u root: –key id_rsa_2048.private –pass xiaochen478-= ”sftp://8.210.227.192:22/root/curl/GetJPGAISend/“ -T “d:\\中文.txt” –ftp-create-dirs

二、ssh openssh 密钥登陆 sft上传文件到指定目录 上传文件 gbkutf8.c ok
D:\work2022\LibDll\Lib64\bin\curl -vvv -u root: –key D:\work2022\LibDll\Lib64\bin\cacert\id_rsa_2048.private –pass xiaochen478-= sftp://8.210.227.192:22/root/curl/GetJPGAISend/ -T d:\BaiduSyncdisk\011UbuntuLinuxMacOScurl\002linuxCurl\GetJPGSendServer\gbkutf8.c –ftp-create-dirs

三、
ssh -i C:/Users/steven_roc/.ssh/id_rsa_2048.private root@8.210.227.192 -p 22
xiaochen478-=

cd /root/curl/GetJPGAISend/

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

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

18)
gcc -I/opt/openAI/Lib64U/include -o gbkutf8 gbkutf8.c -L/opt/openAI/Lib64U/lib -lcurl -lpthread -ldl

 

 

 

 

一、错误问题 ***************************************
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

必须安装依赖包
apt-get upgraded
apt-get update
apt install pkg-config -y
apt install pkgconf -y
apt install git -y

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

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

在Linux中,删除目录中的文件夹和文件的方法其实很简单,使用rm -rf命令即可。 -r 向下递归,不管有多少级目录,一并删除。 -f 直接强行删除,没有任何提示
一、

【编译】CMake, TCMalloc, jsoncpp, nghttp2, openssl, curl


【编译】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=

***************************************************************
一、更新Ubuntu20.04系统
1、
apt-get update
apt install git -y
apt-get install cmake -y

apt install pkg-config -y
apt install pkgconf -y

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

cd /opt/openAI/Lib64U/

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

4)必须设置
ln -s /opt/openAI/Lib64U/lib/libz.so.1.3 /usr/lib/x86_64-linux-gnu/libz.so.1.3
ln -s /opt/openAI/Lib64U/lib/libz.so.1.3 /usr/lib/x86_64-linux-gnu/libz.so.1
ln -s /opt/openAI/Lib64U/lib/libz.so.1.3 /usr/lib/x86_64-linux-gnu/libz.so
***************************************************************************
其他:
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
********************************************************************************

其他:
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) cd /root/curl/openssl
cd /root/curl
# 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
tar -zcvf openssl-3.2.0.tar.gz openssl

2)# mkdir openssl
cd openssl

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

4
make && make install
make clean
make && make install

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

/opt/openAI/Lib64U/
cd /opt/openAI/Lib64U/
./openssl version
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.2.1
临时编译目录
cd /opt/openAI/Lib64U/
cd /root/curl/curl-8.2.1/
1)
cd /root/curl
2)# git clone https://github.com/curl/curl.git
wget –no-check-certificate https://curl.se/download/curl-8.2.1.tar.gz
3)
tar -zxvf curl-8.2.1.tar.gz
4)
cd /root/curl/curl-8.2.1/
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= –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-ssl=/opt/openAI/Lib64U/ssl –with-zlib=/opt/openAI/Lib64U
***************************************************************************}}}}}}}}}}
make && make install
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
curl 8.2.1 (x86_64-pc-linux-gnu) libcurl/8.2.1 OpenSSL/3.1.2 zlib/1.2.11
Release-Date: 2023-07-26
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 NTLM_WB 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”

您可能还喜欢...

发表回复

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