一、Cmake构建linux工程
列出本人在使用的cmake文件,用于构建工程,在cmake.txt文件目录执行cmake命令自动生成makefile
#指定C编译器
SET(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
#指定C++编译器
SET(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
#SET(CMAKE_C_COMPILER gcc)
#SET(CMAKE_CXX_COMPILER g++)
#项目名称
PROJECT(main)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
#工程类型是调试版还是发布版
SET(CMAKE_BUILD_TYPE “Debug”)
#编译器选项
SET(CMAKE_CXX_FLAGS_DEBUG “$ENV{CXXFLAGS} -O0 -Wall -lpthread -g -ggdb -ldl -lm”)
#源文件目录
ADD_SUBDIRECTORY( src )
AUX_SOURCE_DIRECTORY(. DIR_SRCS)
find_package (Threads)
ADD_EXECUTABLE(main ${DIR_SRCS} )
target_link_libraries (main KaTeX parse error: Expected 'EOF', got '#' at position 60: …IES( main src)
#̲mqtt目录及连接库路径
IN…{file}",
// “-o”,
// “fileDirname/{fileDirname}/fileDirname/{fileBasenameNoExtension}”
// “-lpthread”,
],
“options”: {
“cwd”: “KaTeX parse error: Expected 'EOF', got '}' at position 23: …aceFolder}"
}̲,
"problemMa…gcc”
],
“group”: {
“kind”: “build”,
“isDefault”: true
}
}
]
}
添加launch.json文件
{
“version”: “0.2.0”,
“configurations”: [
{
“name”: “test”,
“type”: “cppdbg”,
“request”: “launch”,
“program”: “workspaceFolder/build/main","args":[],"stopAtEntry":false,"cwd":"{workspaceFolder}/build/main",
"args": [],
"stopAtEntry": false,
"cwd": "workspaceFolder/build/main","args":[],"stopAtEntry":false,"cwd":"{workspaceFolder}”,
“environment”: [],
“externalConsole”: true,
“MIMode”: “gdb”,
“setupCommands”: [
{
“description”: “Enable pretty-printing for gdb”,
“text”: “-enable-pretty-printing”,
“ignoreFailures”: true
}
],
//“preLaunchTask”: “C/C++: gcc build active file”,
//本地使用的GDB调试器
“miDebuggerPath”: “arm-linux-gnueabihf-gdb”,
//GDB server的地址与端口
“miDebuggerServerAddress”: “192.168.1.108:6666”
}
]
}
在开发板通过NFS拷贝编译好的执行文件,并启动GDB server,就可以像Visaul studio一样简单好用的开发linux应用程序