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
输入法
- 在命令行中运行:’sudo apt install fcitx-googlepinyin’
- 在 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
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 xxxxx.run
http://download.qt.io/archive/qt/
安裝
再 .
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
lua 安裝.
/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