精华内容
下载资源
问答
  • libstd c++ 5_3.3.6-18 amd64 deb 用于 Ubuntu下校园网 h3c 802.1x认证 所需的 c++库支持 amd64 64位系统
  • 主要介绍了VS2019中CMake项目如何指定c++语言标准,需要的朋友可以参考下
  • 解决xcode 10,没有找到libstd++.6 和libstd++.6.0.9的问题 ( library not found for -lstdc++.6.0.9)
  • 2、创建一个C++文件sql.cpp,连接,检测能否正确调用mysql.h //sql.cpp检测mysql.h使用 #include #include using namespace std; int main(){ MYSQL mysql; mysql_init(&mysql); mysql_close(&mysql); return 0; } ...

    MySQL 8 的下载与安装

    MySQL 8 的下载

    1、 MySQL 8下载安装包可直接登录MySQL官网进行下载,下载链接:MySQL 8 的下载地址 根据自己的系统版本选择(arm 64 与x86 64 通过命令 arch 查询,系统版本通过uname -a 查询
    2、 也可通过下载yum源安装,下载链接:https://dev.mysql.com/downloads/file/?id=484922。
    3、centos 8通过dnf 包管理直接安装(推荐,这种安装方式不需要设置密码强度等,初始无密码)

    MySQL 8 的安装

    1、 在下选择的MySQL 8 的安装包为mysql-8.0.17-1.el8.x86_64.rpm-bundle.tar(el8对应linux 8系统)

    2、使用Linux系统下载的使用 以下命令,对安装包进行提取。
    tar -xvf mysql-8.0.17-1.el8.x86_64.rpm-bundle.tar

    3、使用windows系统下载的rpm包,可以先通过ftp传输到Linux系统,再使用上面的tar 命令提取
    具体操作:

    ftp windows主机ip
    ftp->bin  //rpm 等要使用bin模式才能正常传输
    fep->get 安装包(带.tar后缀的名字)
    ftp->bye   //退出ftp   
    

    4、 对rpm包进行安装,安装包之间存在依赖,需按序安装,安装libs显示缺乏依赖glibc2_28时,手动安装依赖(通过更新gcc版本)或者换低版本的mysql安装。在centos 7 安装(mysql-el7 )依赖装得实在痛苦,还是建议换低版本mysql,或者安装高版本系统的CentOS8.

    ls  -l  //列出当前文件夹下所有文件,安装sever  client ,
    //rpm -i 可以替换成 yum localinstall ,表示使用本地安装包安装,yum 安装好点
    rpm -i  mysql-community-common-8.0.17-1.el8.x86_64.rpm
    rpm -i  mysql-community-libs-8.0.17-1.el8.x86_64.rpm
    rpm -i  mysql-community-client-8.0.17-1.el8.x86_64.rpm
    rpm -i  mysql-community-server-8.0.17-1.el8.x86_64.rpm
    rpm -i  mysql-community-devel-8.0.17-1.el8.x86_64.rpm
    //带devel字段是开发用到的库以及文件 ,安装以供C/C++连接使用
    

    命令长这个样子

    yum源安装

    1. 将下载的rpm包直接安装,安装命令同上,更换文件名即可,然后百度 yum源安装mysql。

    自此,MySQL安装完成

    MySQL密码设置

    登录MySQL

    1、启动服务

    service mysqld start
    

    若启动失败,

    2、获取临时密码

    grep "A temprary" /var/log/mysqld.log
    

    记下密码
    3、登录MySQL

    mysql -u root -p
    Enter password: (此处输入刚才记录的密码)
    

    密码修改以及密码强度配置

    1、继上述步骤后会,提示输入新密码,可更改简单一点的,容易输入的,但要包含大小写,数字,特殊字符,长度大于8
    2、基于密码复杂度太高,不适合学习使用,因此修改密码后对密码安全策略进行修改

    show variables like 'validate_password%';  //后面可以用'validate_pa%'; 减少点输入
    
    

    出现如下信息
    在这里插入图片描述
    此处为对密码的要求

    set global validate_password.length=1;//可通过这样的语句进行修改set global xxxx.xxx=x;
    

    length表示最小长度,mixed_case_count表示大小写,number_count表示含有数字位数,policy表示验证强度,special_char_count 表示特殊字符。

    在下愚钝,不明白修改后密码依旧无法更改为超级简单的,所以修改了

    set global validate_password.check_user_name=0;
    

    做到这一步之后,密码就可以随心所欲的设置了。

    alter user 'root'@'localhost' identified by '新密码‘;  //修改密码用这个语句,其他语句会报错1064
    

    到了这里,MySQL的安装就大功告成了,接下来就是C++连接MySQL的部分了。

    C++连接MySQL

    注意到之前安装的那个带devel字段的安装包,就是这个东西,用来提供mysql/mysql.h的头文件。

    下面上过程:

    检查有无安装mysql-devel

    rpm -qa |grep  mysql
    
    

    若显示的字段中有mysql-community-devel-8.0.17-1.el8.x86_64,证明成功安装了devel。

    2、创建一个C++文件sql.cpp,连接,检测能否正确调用mysql.h

    //sql.cpp检测mysql.h使用
    #include<iostream>
    #include<mysql/mysql.h>
    using namespace std;
    
    int main(){
    	MYSQL  mysql;
    	mysql_init(&mysql);
    	
    	mysql_close(&mysql);
    	return 0;
    }
    
    g++ sql.cpp   //执行成功会生成a.out文件
    ./a.out  
    

    3、然而上述的g++命令生成失败了,查看错误,可以注意到是包含mysql.h的时候出事了,定位到那里修改

    cd /usr/include/mysql/
    ls //列出文件
    vim  mysql_com.h  //中间寻找过程就不写了,就是这个文件里面一个符号出错了
    //vim 修改mysql_com.h,没有安装vim 的用vi mysql_com.h 效果一样
    

    进去之后在命令行模式下输入 1005G 定位到1005行,进去在1005行前,直接1005回车也行, 不同版本下面语句的位置不一样,使用 /include 查找下面语句所在位置

    将mysql_com.h中1005行的
    #include<mysql/udf_registration_types.h>修改为#include”mysql/udf_registration_types.h“
    

    动态库链接

    到了这里,你以为事情就这么结束了?
    1、抱着大功告成的心态,又回来了这个sql.cpp的文件位置

    g++ sql.cpp 
    

    2、这万恶的g++又报错了,报错原因mysql_init()未定义

    cd /usr/lib64/mysql/
    ls -l
    

    这时候会展示如下图所示在这里插入图片描述
    注意这个.so跟.a 结尾的,so是share obj,动态库文件后缀,a是静态库后缀,什么意思我也不知道。
    在lib64文件夹下建立一条软链接链接这个21.1.17结尾动态库的文件,这一步涉及动态库的知识,这里就不展开来扯了。

    //这一步可以不做,直接使用下一步,也可以通过把libmysqlclient.so 移动到 /usr/lib/,每次链接不用添加文件地址
    cd ..
    ln -s /usr/lib64/mysql/libmyclient.so.21.1.17  libmyclient.so   //创建一条软连接
    

    这时候再回到刚才的sql.cpp文件所在位置,g++一下终于通过了。

    g++ sql.cpp -lmysqlclient -L /usr/lib64/mysql/   //-lmysqlclient表示链接到mysqlclient动态库, -L 表示寻找动态库链接的地址
    
    展开全文
  • 在使用4.4.3版本的编译器编译linux-2.22.6内核时出现libstd++6库找不到的问题!!! 通过上网搜索和尝试 原来是自己使用的64位版本的系统 中的libstdc++6与编译器版本中的库文件发生了冲突 编译器中是32位而系统中...

    在使用4.4.3版本的编译器编译linux-2.22.6内核时出现libstd++6库找不到的问题!!!

    通过上网搜索和尝试 原来是自己使用的64位版本的系统 中的libstdc++6与编译器版本中的库文件发生了冲突  编译器中是32位而系统中是64位。

    解决办法:sudo apt-get install lib32stdc++6 安装32位lib库

    展开全文
  • sudo apt-get install lib32stdc++6
    sudo apt-get install lib32stdc++6
    展开全文
  • linux环境下编译C++文件

    千次阅读 2017-12-14 15:41:49
    最近需要将代码上传到...稍微学习了一下ubuntu环境下的C++文件编译方式。单个源文件生成可执行程序//随便写个简单的程序: /*test.cpp*/ #include int main(int argc,char *argv[]) { std::cout , world" << std:

    最近需要将代码上传到github,顺便使得代码要在ubuntu上能够编译运行。稍微学习了一下ubuntu环境下的C++文件编译方式。

    单个源文件生成可执行程序

    //随便写个简单的程序:
        /*test.cpp*/
    #include <iostream>
    int main(int argc,char *argv[])
    {
        std::cout << "hello, world" << std::endl;
        return(0);
    }
    

    可以直接g++ test.cpp编译, * 编译器默认的动作:* 编译源代码文件生成对象文件(object file),链接对象文件和 libstd c++ 库中的函数得到可执行程序。然后删除对象文件。由于命令行中未指定可执行程序的文件名,编译器采用默认的 a.out。程序可以这样来运行:./a.out

    但是一般做法会指定输出名,如下:
    g++ test.cpp -o test

    多个源文件生成可执行文件:

    其实现在的编译器都很聪明,你只需要将所有工程用到的.cpp和.h文件放到同一个文件目录下面,然后g++ *.cpp -o test 就可以编译成可执行文件。

    note:需要注意的是,如果工程里面用到的方法是标准库里没有的,那么则需要重写这个方法。比如,我使用VS 2012建立的工程里面strlwr方法在标准库里面没有,则使用linux编译的时候会报没有定义的错误。

    展开全文
  • 在Linux环境下编译C++ 程序

    千次阅读 2018-04-15 23:00:53
    转载自:https://www.cnblogs.com/ucas/p/5778664.html单个源文件生成可执行程序下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: 单个源文件生成可执行程序/* helloworld.cpp */ #include &...
  • 单个源文件生成可执行程序下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: 单个源文件生成可执行程序/* helloworld.cpp */ #include &lt;iostream&gt; int main(int argc,char *argv...
  • C++简单入门 一

    2018-06-14 19:15:41
    C++是什么? C++语言是一种通用的,区分大小写的自由格式编程语言,支持面向对象,过程和通用编程。C++是一种中级语言,因为它包含高级语言和低级语言特性。 面向对象编程(OOP) C++支持面向对象编程,C++中使用...
  • 编译源代码文件生成对象文件(object file),链接对象文件和 libstd c++ 库中的函数得到可执行程序。然后删除对象文件。由于命令行中未指定可执行程序的文件名,编译器采用默认的 a.out。程序可以这样来运行: $ ./a....
  • Linux环境编译C++程序

    2017-03-09 17:50:39
    单个源文件生成可执行程序下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: 单个源文件生成可执行程序
  •  编译源代码文件生成对象文件(object file),链接对象文件和 libstd c++ 库中的函数得到可执行程序。然后删除对象文件。由于命令行中未指定可执行程序的文件名,编译器采用默认的 a.out 。程序可以这样来运行: ...
  • linux gcc/g++编译安装 gcc7.5.0 c++17

    千次阅读 2019-11-20 16:08:51
    linux C++17编译:编译指定参数 -std=c++17 编译指定参数 -std=c++17 例:g++ -std=c++17 main.cpp #如果编译器不支持c++17就会提示:g++: error: unrecognized command line option ‘-std=c++17’ 方法: 1.下载高...
  • CentOS 6.6上搭建C++运行环境

    千次阅读 2017-09-12 16:14:43
    1、安装运行环境 ...备注:此时会将gcc-c++和libstdc++-devel都安装上。   2、查看g++是否安装成功   [root@MyRHEL 桌面]# g++ -v 使用内建 specs。
  • gcc版本升级参考文章: ... 这里可能是因为存在多个gcc版本,且系统默认的gcc版本是低版本的。...ln -s /usr/local/bin/c++ /usr/bin/c++ 参考链接: https://blog.csdn.net/lhh1113/article/details/64441802
  • 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: 单个源文件生成可执行程序 /* helloworld.cpp */ #include <iostream> int main(int argc,char *argv[]) { std::cout << ...
  • C++笔记

    2017-09-10 00:39:45
    C++笔记C笔记 双冒号的作用 c编译原理 c在linux中的编译 include include speakh include speakh include include sayh include sayh include sayh c make和makefile c文件修改之后是否所有的文件都需要重新编译 c...
  • 在 codeblock 中新建一个 c++ 的项目,进行编译运行之后便会生成一个可执行的 .exe 文件。 生成的文件目录在项目的 bin->Debug 目录下。 点击直接运行,可能会出现提示“程序无法启动,因为计算机中丢失libgcc_...
  • 使用subline build c++

    2017-07-19 16:46:50
    一、安装sublime ...1)使用MinGW安装G++编译器,看到mingw/bin中有g++.exe就是安装文件成功了 2)将该bin目录添加到系统的环境变量...三、准备sublime的C++ build配置文件C++.sublime-build存放在默认的目录下就可以了 {
  • NDK编译——C++ 库支持

    千次阅读 2017-07-06 00:07:01
    文章的内容是从Android开发者官网扒的,为了防止再登不上去,记录一下。官网网址:https://developer.android.com/ndk/guides/cpp-support.html ...C++ 库支持 ...Android 平台提供很小的 C++ 运行时支持库 (libs
  • c++ 中常见的缩写短语

    千次阅读 2019-04-04 12:35:00
    libstd++ buffer 大小16,去掉末尾的NUL,最大15字符, lib++ buffer 大小23,去掉末尾的NUL, 最大22 字符. 2.实参依赖的名称查找,ADL(Argument-dependent lookup): #include namespace A { struct X{}; ...
  • 可以直接g++ test.cpp编译, * 编译器默认的动作:* 编译源代码文件生成对象文件(object file),链接对象文件和 libstd c++ 库中的函数得到可执行程序。然后删除对象文件。由于命令行中未指定可执行程序的文件名,...
  • C++ Memory Leak Finder(转)

    千次阅读 2013-03-18 15:39:48
    C++ Memory Leak Finder Introduction   In this article I will discuss a way to build a memory leak detection program for C and C++ applications. This is not an attempt at writing a ...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 348
精华内容 139
关键字:

libstdc++

c++ 订阅
友情链接: formularios.rar