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

...

阅读剩余
THE END