全国购网站建设,海报制作哪个软件好,下载共富工程app软件安装包,centos 搭建wordpress一、下载Ubuntu18.04版本镜像
我的电脑配置比较低(08年奥运限定版哦)#xff0c;使用的是虚拟机VMware进行安装Ubuntu18.04版#xff0c;跟书上使用的一样 Ubuntu 18.04镜像 别下载错了哈
二、VMware下安装Ubuntu18.04操作系统
之前写过相关的博文#xff0c;详细配置可…一、下载Ubuntu18.04版本镜像
我的电脑配置比较低(08年奥运限定版哦)使用的是虚拟机VMware进行安装Ubuntu18.04版跟书上使用的一样 Ubuntu 18.04镜像 别下载错了哈
二、VMware下安装Ubuntu18.04操作系统
之前写过相关的博文详细配置可参考博文VMware创建Ubuntu操作系统到网络配置详细流程 需要注意的是第一步Ubuntu下载的时候用上Ubuntu18.04版本哈其余操作不变
为了便于后续的操作这里先列出几个常用的Linux命令和快捷键 终端快捷键CtrkAltT 终端窗口放大:CtrlShift‘’ 把终端缩小Ctrl‘-’
功能命令举例解释创建文件touch filenametorch beyond.cpp创建一个beyond.cpp文件创建文件夹mkdir filenamemkdir yy创建一个yy文件夹显示当前所在路径pwdpwd返回当前的路径查看文件权限ls -i filenamels -i beyond.cpp查看beyond.cpp这个文件的权限修改文件权限chmod 权限数字 filenamechmod 777 beyond.cpp把beyond.cpp文件的权限修改问可读可写可执行(777)对文件进行编辑vim filenamevim beyond.cpp对beyond.cpp文件进行编辑
若上述命令提示权限不够在最前面加入sudo即可例如sudo chmod 777 beyond.cpp
详细的Linux命令可参考博文day1-Linux操作系统基础
本人在操作的过程中遇到问题及解决方案如下
Ⅰ屏幕不能适应全屏
可参考博文VMware下Ubuntu无法全屏显示问题
Ⅱvim编译保存失败
①找到 软件和更新 ②将下载自重新选择为阿里云然后确定即可一定要保证这个Ubuntu得联网哈 ③选择软件更新器 确保软件都是最新的不是最新的就升级
三、编辑第一个程序
在home文件夹下创建slambook2文件夹所有的代码都放在slambook2文件夹下 在slambook2文件夹下创建beyond.cpp文件并赋予777权限 对于beyond.cpp文件进行编辑保存
主要命令如下 sudo mkdir slambook2 sudo touch beyond.cpp sudo chmod 777 beond.cpp vim beyond.cpp
/home/slambook2/beyond.cpp内容如下
#includeiostreamusing namespace std;int main(int argc, char **argv){coutHello beyond!endl;return 0;
}Ⅰ使用g编译
安装gsudo apt-get install g 编译sudo g beyond.cpp会在当前路径下生成a.out文件存放编译的结果 运行‘sudo ./a.out’
Ⅱ使用cmake编译
重新打开个命令窗口然后下载安装cmakesudo apt-get -y install cmake 创建cmake文件夹用于存放cmake编译内容 cmake文件夹下有三个文件beyond.cpp、CMakeLists.txt、build文件夹
1beyond.cpp主函数文件
#includeiostreamusing namespace std;int main(int argc, char **argv){coutHello beyond!endl;return 0;
}2CMakeLists.txt
项目名称为Beyond 生成的可执行文件为beyond 编译的程序为beyond.cppbeyond.cpp和CMakeLists.txt在同级目录下若不在同一个目录下需要指明路径
# 要求的cmake最低版本
cmake_minimum_required( VERSION 2.8 )# 声明一个cmake过程
project( Beyond )# 添加一个可执行程序
# 语法add_executable( 程序名 源代码文件 )
add_executable( beyond beyond.cpp )3build为一个空文件夹因为cmake创建的过程中会产生一些中间文件内容编译成功之后给文件夹就可以删除了
4执行过程
①首先进入到build文件夹下运行sudo cmake ..这里的俩点表示上级路径因为CMakeLists.txt与build文件夹同级而我们现在进入到了build下故需要通过俩点来进入上一级进行操作 之后会生成一些中间文件 ②然后接着在build文件夹下执行sudo make命令得到beyond这个可执行文件 ③然后sudo ./beyond运行beyond这个可执行文件即可运行beyond.cpp输出相应的结果
项目的整个结构如下所示
Ⅲ使用库
在C中只有带有main函数的文件才可以生成可执行文件其他的代码文件都可以称为库可供其他程序调用 通俗一点没有main函数的文件都可称为库
1编写库文件libbeyond.cpp
#includeiostream
using namespace std;void printBeyond(){coutHello Beyondendl;
}2编写CMakeLists.txt对库编译成库
把libbeyond.cpp文件编译成一个叫做的libbeyond库 add_library(helloyy libbeyond.cpp)静态库helloyy.a add_library(helloyy_shared SHARED libbeyond.cpp)共享库helloyy_shared.so
静态库每次被调用都会生成一个副本 共享库只有一个副本
3编写头文件libbeyond.h
头文件用于说明库里面都有些啥
#ifndef LIBBEYOND_H_
#define LIBBEYOND_H_void printBeyond();#endif这样就可以通过头文件和库函数进行调用printBeyond函数了
4编写usemain.cpp主函数
库函数和头文件都有了开始编写主函数进行调用
#includelibbeyond.hint main(int argc, char **argv){printBeyond();return 0;
}5再次编写CMakeLists.txt对主函数编译可执行程序
add_executable(usemain usemain.cpp)生成可执行文件usemain target_link_libraries(usemain helloyy_shared )可执行文件与共享库helloyy_shared关联
6最终CMakeLists.txt内容如下
# 要求的cmake最低版本
cmake_minimum_required( VERSION 2.8 )# 声明一个cmake过程
project( Beyond )# 添加一个可执行程序
# 语法add_executable( 程序名 源代码文件 )# 添加一个库
# 语法add_library( 程序名 源代码文件 ) ---静态库 .a为后缀
# 语法add_library( 程序名 SHARED 源代码文件 ) ---共享库 .so为后缀
# 静态库每次被调用都会生成一个副本
# 共享库只有一个副本add_library(helloyy libbeyond.cpp)
add_library(helloyy_shared SHARED libbeyond.cpp)add_executable(usemain usemain.cpp)
target_link_libraries(usemain helloyy_shared)7在build文件夹下执行下列命令
sudo cmake .. sudo make sudo ./usemain 即可出现最终的输出效果
8项目结构如下