• ubutu 环境配置,ubuntu16.4 codeblock boost mysql


    1)安装系统。 2)安装codeblock.  3)boost 4)

     安装还好,ubuntu 虽然不稳定,但 安装软件还是方便了。几个小时就可以安装完所有东西了。

    系统

    直接下载ubuntu-16.04-desktop-amd64.iso 桌面版

     1)不选择简易安装。选择空白,稍后安装,重启后选择系统iso到光驱。

    2)外观,行为,开启,工作区,这样,调整分辨率的时候。防止错误,看不到界面。有4个工作区足够在任何分辨率下进行设置。

    3) 设置任务栏到底部。gsettings set com.canonical.Unity.Launcher launcher-position Bottom

    codeblock

    官网说明

    http://www.codeblocks.org/downloads/26

    安装步骤

    To install Code::Blocks from this PPA, open a terminal and type:

    sudo su

    sudo add-apt-repository ppa:damien-moore/codeblocks-stable
    sudo apt-get update
    sudo apt-get install codeblocks codeblocks-contrib

    codelite

    也是一样的命令

    安装最好先

    sudo apt-key adv --fetch-keys http://repos.codelite.org/CodeLite.asc
     sudo apt-add-repository 'deb https://repos.codelite.org/ubuntu/ xenial universe'
    sudo apt-get update
    之后再
    sudo apt-get install codelite

    开发时,在/usr/lib 建立一个文件夹。lslib

    输入法

    1. 在命令行中运行:’sudo apt install fcitx-googlepinyin’
    2. 在 system setting > Language Support 中 Keyboard input method system 选择 fcitx

    导航栏最上面fcitx配置。加入google输入法,第一个放键盘配置。键盘英文(美国)


    boost 安装,直接用系统自带的。是最简单的:

    进入linux系统后,输入
       apt-cache search boost
    你将看到很多文件信息,你会看到其中一个文件叫 libboost-dev, 直接安装此文件即可:
       apt-get install libboost-dev
    这样就安装成功了。这个速度很快,是因为直接拷贝了lib文件到系统。

    有的需要一些库,如system,也是先apt-cache search boost

    再直接:apt-get install libboost-system-dev

    测试

    #include <iostream>
    #include <boost/lexical_cast.hpp>
    
    using namespace std;
    
    int main()
    {
        int a=boost::lexical_cast<int>("123");
        cout << a <<  endl;
        return 0;
    }

    mysql

     1.  apt-get install mysql-server

     2. apt-get install mysql-client

     3.  apt-get install libmysqlclient-dev 

    测试端口是否运行

    netstat -apt |grep mysql

    登录数据库。

    mysql -u root -p

    查看数据库 (注意要有;号)

    show databases;

    安装图像管理

    apt-get install mysql-workbench

    按照提示,安装依赖

    apt-get -f install

    再次运行

    apt-get install mysql-workbench

    搜索软件 workbench

     打开,正常。

    在codeblock 使用mysql

    非常方便,2步就好。

    1)代码直接使用头文件,

    #include <mysql/mysql.h>

    2)编译加个选项。

    编译的时候直接 在项目的build option->other link 填入 -lmysqlclient 就好了。
    和填入多线程是一个位置。

    好了,使用mysql 系统数据哭测试。就好了。

     3)例外情况

    可执行程序使用mysql 直接 填 -lmysqlclient 就好

    就相当于 加了  mysqlclient.a 这个静态库。

     但是,如果你想做一个其他静态库包含数据库的查询。

    而可执行程序的项目必须填写

    -lmysqlclient
    -lrt
    -lz
    -ldl

    搞 了一上午。唉。

    不过终于明白了一个事情。就是库的编译,是不会link的。

    link 是可执行程序的事情。所以你自己编写的库。到最后生成可执行程序的时候。要吧所有你写好的库使用到的第3方库,都加到link 来。

    #include <iostream>
    #include <stdio.h>
    #include <mysql/mysql.h>
    
    using namespace std;
    
    const char HOST[]="localhost";
    const char USERNAME[]="root";
    const char PASSWORD[]="123";
    const char DATABASE[]="sys";
    
    
    void query_sql(char* sql)
    {
        MYSQL my_connection; /*这是一个数据库连接*/
        int res; /*执行sql語句后的返回标志*/
        MYSQL_RES *res_ptr; /*指向查询结果的指针*/
        MYSQL_FIELD *field; /*字段结构指针*/
        MYSQL_ROW result_row; /*按行返回的查询信息*/
        int row, column; /*查询返回的行数和列数*/
        int i, j;
        /*初始化mysql连接my_connection*/
        mysql_init(&my_connection);
        /*建立mysql连接*/
        if (NULL != mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD,DATABASE, 0, NULL, 0))  /*连接成功*/
        {
            printf("数据库查询query_sql连接成功!
    ");
            /*设置查询编码为gbk,以支持中文*/
            mysql_query(&my_connection, "set names gbk");
            res = mysql_query(&my_connection, sql);
    
            cout << "res = " << res << endl;
    
            if (res)   /*执行失败*/
            {
                printf("Error: mysql_query !
    ");
                cout << mysql_error(&my_connection) << endl;
                /*关闭连接*/
                mysql_close(&my_connection);
            }
            else     /*现在就代表执行成功了*/
            {
                /*将查询的結果给res_ptr*/
                res_ptr = mysql_store_result(&my_connection);
                /*如果结果不为空,就把结果print*/
                if (res_ptr)
                {
                    /*取得結果的行数和*/
                    column = mysql_num_fields(res_ptr);
                    row = mysql_num_rows(res_ptr);
                    printf("查询到 %d 行 
    ", row);
                    /*输出結果的字段名*/
                    for (i = 0; field = mysql_fetch_field(res_ptr); i++)
                        printf("%10s ", field->name);
                    printf("
    ");
                    /*按行输出結果*/
                    for (i = 1; i < row+1; i++)
                    {
                        result_row = mysql_fetch_row(res_ptr);
                        for (j = 0; j < column; j++)
                            printf("%10s ", result_row[j]);
                        printf("
    ");
                    }
                }
                /*不要忘了关闭连接*/
                mysql_close(&my_connection);
            }
        }
        else
        {
            printf("数据库连接失败");
        }
    }
    
    int main()
    {
        char query[]="select * from sys_config";
        query_sql(query);
        return 0;
    }

    MySQL允许远程访问的设置

    1.注释bind-address = 127.0.0.1。


    >cd /etc/mysql
    >sudo vim my.cnf

    将bind-address = 127.0.0.1注释掉(即在行首加#),如下:

    复制代码代码如下:

    # Instead of skip-networking the default is now to listen only on
    # localhost which is more compatible and is not less secure.
    # bind-address          = 127.0.0.1

    除了注视掉这句话之外,还可以把后面的IP地址修改成允许连接的IP地址。但是,如果只是开发用的数据库,为了方便起见,还是推荐直接注释掉。

    从上面的注释中,可以看出,旧版本的MySQL(从一些资料上显示是5.0及其以前的版本)上使用的是skip-networking。所以,善意提醒一下,使用旧版本的小伙伴请注意一下。

    2.删除匿名用户

    登录进数据库:

    复制代码代码如下:

    >mysql -uroot -p123456


    然后,切换到数据库mysql。SQL如下:

    复制代码代码如下:

    use mysql;


    然后,删除匿名用户。SQL如下:

    复制代码代码如下:

    delete from user where user='';

    3.增加允许远程访问的用户或者允许现有用户的远程访问。

    接着上面,删除匿名用户后,给root授予在任意主机(%)访问任意数据库的所有权限。SQL语句如下:

    复制代码代码如下:

    mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;


    如果需要指定访问主机,可以把%替换为主机的IP或者主机名。另外,这种方法会在数据库mysql的表user中,增加一条记录。如果不想增加记录,只是想把某个已存在的用户(例如root)修改成允许远程主机访问,则可以使用如下SQL来完成:

    复制代码代码如下:

    update user set host='%' where user='root' and host='localhost';

    4.退出数据库

    复制代码代码如下:

    mysql> exit

    在MySQL Shell执行完SQL后,需要退出到Bash执行系统命令,需要执行exit。因为这个太常用也太简单。以下内容就提示“退出”,不再重复列出这个命令。

    5.重启数据库

    完成上述所有步骤后,需要重启一下数据库,才能让修改的配置生效。执行如下命令重启数据库:

    复制代码代码如下:

    >sudo service mysql restart
     
     
    安裝 qt.

    下載 qt xxxxx.run

    http://download.qt.io/archive/qt/

    安裝

    再 .

    sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev

    lua 安裝.

    1、sudo apt-get install lua
    2、sudo apt-get install lua5.1-0-dev
     
     
    第一条命令用来安装Lua环境,第二条命令用来安装Lua的相关头文件及库文件
    由于Lua的头文件安装在/usr/include/lua5.x,

    库文件使用
    locate liblua
    可以查找到安装路径,如下:
    /usr/lib/i386-linux-gnu/liblua5.1-c++.a
    /usr/lib/i386-linux-gnu/liblua5.1-c++.so
    /usr/lib/i386-linux-gnu/liblua5.1-c++.so.0
    /usr/lib/i386-linux-gnu/liblua5.1-c++.so.0.0.0
    /usr/lib/i386-linux-gnu/liblua5.1.a
    /usr/lib/i386-linux-gnu/liblua5.1.so
    /usr/lib/i386-linux-gnu/liblua5.1.so.0
    /usr/lib/i386-linux-gnu/liblua5.1.so.0.0.0

    建议在安装完毕后,
    ln -s lua5.x lua
    生成一个软连接,这样在包含头文件的时候,使用
    #include “lua/xxx.h”
    不需要关心当前的版本
    (当然,不同版本间的一些差异,需要注意)

    在实际编译时,如果使用g++编译需要添加
    #ifdef __cplusplus
    extern "C" {
    #endif

    #include “lua/xxx.h”

    #ifdef __cplusplus
    }
    #endif

    (编译时,使用C语言接口)
    在连接时需要指明使用的库文件 -llua5.1
     
     
  • 相关阅读:
    弹框只弹一次(cookie)
    多个列表求笛卡尔积的几种方法
    mysqlrouter 8.0.17启动失败
    Eclipse启动项目成功,IDEA报错java.lang.ClassNotFoundException: javax.servlet.Filter
    java的回调机制,讲得很清楚
    Java 命令行 -D
    spring boot项目中,webservice生成客户端,wsdl可配置
    一个老项目的高并发改造,遇到的redis连接不释放问题。
    ExecuterService实现线程池
    子线程获取不到请求中变量的问题
  • 原文地址:https://www.cnblogs.com/lsfv/p/6501006.html
Copyright © 2020-2023  润新知