centos编译dll?centos7
大家好,关于centos编译dll很多朋友都还不太明白,今天小编就来为大家分享关于centos7的知识,希望对各位有所帮助!
在Liunx(ubuntu)上编译SerialPortStream基础类库的问题解决
说明
由于.net core中,已经找不到 serialport库,使用需要使用第三方框架,可以直接在 Nuget中搜索
SerialPortStream
开源地址??
怎么使用类库
SerialPortStream在 Windows下可以正常使用,但是,在 Linux系统下,必须为 Linux平台编译支持库编译类库,其类库作者说明如下:
编辑
?不然的话,项目打包到Linux时,会出现:
编辑
文章作者给出的方法是,自己在 Linux下编译,可是很多人会在这里失败,输入命令后,无法安装 gcc和 cmake,以及其它软件。
在这一步中,我走了很多弯路,一开始是在阿里云的Centos7系统上进行编译,老是报莫名其妙的错误,后来,直接在服务器上安装了一个ubuntu Docker容器,
附上镜像地址??Docker Hub
#拉取镜像docker pull ubuntu#进入容器docker run-it-v:/home/serialstream:/home ubuntu/bin/bash-v:/home/serialstream:/home注:这个参数的作用是为了后续将容器/home里的编译文件映射到服务器的盘符中,方便复制到本地#进入容器后的操作**第一步:系统更新apt-get update**第二步:安装软件GCC C++ cmakeapt-get install gcc g++ cmake git**第三步:作者的文档说明里有这么一段话:To build the libraries, you should have the following prerequisites installed:* Google Test* Doxygen# SO,不管用不用,先装上再说apt install libgtest-devapt install doxygen**第四步:拉取源码并开始编译git clone serialportstream/dll/serialunix./build.sh
有些朋友在安装GCC、Cmake时,出现了无法安装的问题。(我是没遇到过,比较幸运)
可以试试这个方法
编辑
??编译过后,出现类似的画面,表示已编译完成:
编辑
?最后通过 FileZilla连接到阿里云服务器,把编译好的这三个文件下载下来。
同时也附上FileZilla的下载地址:
更方便的方法
为了避免麻烦和方便使用,我在 Linux编译支持类库成功后,把需要的文件打包好了。
你只需在.NET Core项目中,把文件放进去即可,无需在 Linux中安装 Gcc/Cmake和后续编译。
下载链接:?\提取码:5gni
下载这三个文件:
?libnserial.so?
?libnserial.so.1?
?libnserial.so.1.1
编辑
把这三个类库,发到你的项目中,随项目一起打包即可。
编辑
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持并提出宝贵意见。
原文:
centos6.5安装wps提示缺libc.so.6(GLIBC_2.15)(64bit),怎办
1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:
[ghui@StuOS bin]$ pwd
/var/VMdisks/cross/mingw32/bin
[ghui@StuOS bin]$ ls
lrelease QtCore4.dll QtNetwork4.dll QtSql4.dll QtXml4.dll
moc QtDeclarative4.dll QtOpenGL4.dll QtSvg4.dll rcc
phonon4.dll QtGui4.dll QtScript4.dll QtTest4.dll uic
qmake QtMultimedia4.dll QtScriptTools4.dll QtWebKit4.dll
[ghui@StuOS bin]$./qmake
./qmake:/lib64/libc.so.6: version `GLIBC_2.14' not found(required by./qmake)
2.查看系统glibc支持的版本:
[ghui@StuOS bin]$ strings/lib64/libc.so.6|grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE
[ghui@StuOS bin]$ rpm-qa|grep glibc
glibc-static-2.12-1.80.el6_3.6.x86_64
glibc-headers-2.12-1.80.el6_3.6.x86_64
glibc-common-2.12-1.80.el6_3.6.x86_64
glibc-devel-2.12-1.80.el6_3.6.x86_64
glibc-static-2.12-1.80.el6_3.6.i686
glibc-devel-2.12-1.80.el6_3.6.i686
glibc-2.12-1.80.el6_3.6.i686
glibc-2.12-1.80.el6_3.6.x86_64
3.可以看到最高只支持2.12版本,所以考虑编译解决这个问题:
a.到下载最新版本,我这里下载了glibc-2.14.tar.xz这个版本,解压到任意目录准备编译
b.这里解压到/var/VMdisks/glibc-2.14/
[ghui@StuOS bin]$ cd/var/VMdisks/glibc-2.14/
[ghui@StuOS glibc-2.14]$ pwd
/var/VMdisks/glibc-2.14
[ghui@StuOS glibc-2.14]$ ls
abilist config.h.in intl README.libm
abi-tags config.log io resolv
aclocal.m4 config.make.in libc-abis resource
aout configure libidn rt
argp configure.in libio Rules
assert conform LICENSES scripts
autom4te.cache CONFORMANCE locale setjmp
bits COPYING localedata shadow
BUGS COPYING.LIB login shlib-versions
build cppflags-iterator.mk mach signal
CANCEL-FCT-WAIVE crypt Makeconfig socket
CANCEL-FILE-WAIVE csu Makefile soft-fp
catgets ctype Makefile.in stdio-common
ChangeLog debug Makerules stdlib
ChangeLog.1 dirent malloc streams
ChangeLog.10 dlfcn manual string
ChangeLog.11 elf math sunrpc
ChangeLog.12 extra-lib.mk misc sysdeps
ChangeLog.13 extra-modules.mk NAMESPACE sysvipc
ChangeLog.14 FAQ NEWS termios
ChangeLog.15 FAQ.in nis test-skeleton.c
ChangeLog.16 gmon NOTES time
ChangeLog.17 gnulib nptl timezone
ChangeLog.2 grp nptl_db tls.make.c
ChangeLog.3 gshadow nscd version.h
ChangeLog.4 hesiod nss Versions.def
ChangeLog.5 hurd o-iterator.mk wcsmbs
ChangeLog.6 iconv po wctype
ChangeLog.7 iconvdata posix WUR-REPORT
ChangeLog.8 include PROJECTS
ChangeLog.9 inet pwd
conf INSTALL README
c.在glibc源码目录建立构建目录,并cd进入构建目录
[ghui@StuOS glibc-2.14]$ mkdir build
[ghui@StuOS glibc-2.14]$ cd build
d.运行configure配置,make&& sudo make install
[ghui@StuOS build]$../configure--prefix=/opt/glibc-2.14
[ghui@StuOS build]$ make-j4
[ghui@StuOS build]$ sudo make install
[sudo] password for ghui:
4.临时修改环境变量
[ghui@StuOS bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
[ghui@StuOS glibc-2.14]$ cd/var/VMdisks/cross/mingw32/bin/
[ghui@StuOS bin]$./qmake
Usage:./qmake [mode] [options] [files]
QMake has two modes, one mode for generating project files based on
some heuristics, and the other for generating makefiles. Normally you
shouldn't need to specify a mode, as makefile generation is the default
mode for qmake, but you may use this to test qmake on an existing project
...