ubuntu里面c++编译环境创建:多个文件g++ 1.cpp 2.cpp 3.cpp 创建连接编译成功,查看目标文件./?? .out?? 运行即可;
或者使用gcc: g++ -c??? x.cpp? 生成.o 文件、如果引用别人的库要加lstd? 因为gcc是对c语言编程的
g++不用写hpp,因为在预处理过程中已经链接了,gcc 或者g++是链接库
c++里面的类
makefile 和 cmake :
makefile作用:检查哪些需要编译、哪些不用再编译;实现编译过程管理
target?? :?? prerequisites??? recipe??? target可以指向空??? 如果前一个比后一个老,需要更新就会执行后面的,然后在执行里面使用touch更新文件时间就会更新之前文件的时间
.o文件比.cpp文件时间新的,就不用生成.o
cmakefile中hello:? echo "hello" 如果目标不存在就会执行echo?? 解释逻辑关系
//目标是为了创建a.out文件,链接
a.out:main.o Car.o Help.out
g++ mian.o Car.o Help.o -o a.out
main.o:main.cpp
g++ -c main.cpp -o mian.o
Help.o :Help.cpp
g++ -c Help.cpp -o Help.o
//目标是为了执行创建.o文件,如果Car.cpp更新了
Car.o:Car.cpp
g++ -c Car.cpp -o Car.o
. 当前目录? ..上一级目录
echo 类似于printf 调用输出;echo "1234":输出字符串;echo?? $name :输出变量值
加了下一行代码之后 make clean清除.o 和.out文件? 并且可以make正常生成
clean:
rm -f ./*.o a.out
makefile 如果有很对cpp就有很多行.o生成,Cmake可以简化这一步骤??
cmake_minimum_required(VERSION 3.10)
project(img1)
find_package(OpenCV REQUIRED)
add_executable(img test.cpp)
target_link_libraries(img ${OpenCV_LIBS})
运行 cmake ../????? make????? ./a.out??
python 入口函数