一、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”,
// “
f
i
l
e
D
i
r
n
a
m
e
/
{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”: “
w
o
r
k
s
p
a
c
e
F
o
l
d
e
r
/
b
u
i
l
d
/
m
a
i
n
"
,
"
a
r
g
s
"
:
[
]
,
"
s
t
o
p
A
t
E
n
t
r
y
"
:
f
a
l
s
e
,
"
c
w
d
"
:
"
{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应用程序