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连接成功!\n");
        /*设置查询编码为gbk,以支持中文*/
        mysql_query(&my_connection, "set names gbk");
        res = mysql_query(&my_connection, sql);

        cout << "res = " << res << endl;

        if (res)   /*执行失败*/
        {
            printf("Error: mysql_query !\n");
            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 行 \n", row);
                /*输出結果的字段名*/
                for (i = 0; field = mysql_fetch_field(res_ptr); i++)
                    printf("%10s ", field->name);
                printf("\n");
                /*按行输出結果*/
                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("\n");
                }
            }
            /*不要忘了关闭连接*/
            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
 
 
posted @ 2017-03-04 12:32  琴鸟  阅读(744)  评论(0编辑  收藏  举报