C++基础 —— (30)CLion远程调试配置
»
    CLion远程调试配置

    1、配置远程Linux服务器的SSH:
        File->Settings->Tools->SSH Configurations
        勾上Send keep-alive messages every 300 seconds

    2、配置代码的Deployment:
        File->Settings->Build,Execution,Deployment中配置Deployment
        在Connection中,Root path填“/”;顶部Mappings中,选择windows本机代码目录以及部署到Linux服务的目录,其中,Web path可以不用管。

    3、配置Toolchain:
         File->Settings->Build,Execution,Deployment中配置Toolchains
         配上Remote Host。需要注意的是,在远程Linux服务器上需要安装有CMake以及GDB

    4、配置CMake的两个打包方式
        File->Settings->Build,Execution,Deployment中配置CMake
        此步必须配置两个Profile,一个是Debug,一个是Release。否则,没法install程序到服务器

    5、用编译按钮编译程序后,在CLion的顶部菜单中选择Build->Install可以安装编译完成的程序到远程Linux服务器。并且CLion可以对整个项目或者单个文件Rebuild

    6、CLion报错:cannot find any CMake profile的问题解决:
	在 “Build, Execution, Deployment” -> “CMake” 中,需要至少一个 Debug 和一个 Release 配置。

    7、CLion运行程序过程中,中文乱码的问题的解决办法:
        1)打开 Help -> Edit Custom VM Options,添加以下行:
            -Dfile.encoding=UTF-8
            保存后,重启CLion
        2)确保所有源文件的文件字符集为UTF-8:CLion菜单栏File->File Properties->File Encoding,选择 UTF-8
        3)修改CMakeList.txt
            set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -finput-charset=UTF-8 -fexec-charset=UTF-8")

    8、CMakeList.txt文件例子:

#对cmake的最低(高)版本的要求
cmake_minimum_required(VERSION 3.16.3)

#工程名称
project(my_exe)

#设定CPP和C编译器使用的语言标准版本
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_C_STANDARD_REQUIRED ON)

#启用汇编
#enable_language(ASM)
#设置汇编后缀
set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS asm)


#指定为使用C++14标准
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++14 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -finput-charset=UTF-8 -fexec-charset=UTF-8")

#添加pthread库
#set(THREADS_PREFER_PTHREAD_FLAG ON) #部分编译环境pthread只能在命令行添加
#find_package(Threads REQUIRED) #部分编译环境pthread只能在命令行添加
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread") #在命令行添加pthread,注意CMake打包过程的日志输出
#添加opencv库
find_package(OpenCV REQUIRED) #定位OpenCV在系统中的位置,如果系统安装了多个OpenCV的版本,可用另一带版本的命令:find_package(OpenCV 4 REQUIRED)#中间的4为版本号

#头文件的搜索路径
include_directories(${PROJECT_SOURCE_DIR}/include ${OpenCV_INCLUDE_DIRS})

set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/output)
link_directories(${PROJECT_SOURCE_DIR}/output)

#开始编译
add_library(lib1 src/lib1.c)
add_library(lib2 src/lib2.c)

add_executable(my_exe src/main.c)

#开始连接
#注意:有头文件引入的相互依赖的库都需要一个一个地添加
target_link_libraries(lib1 ${Threads_LIBS} lib2)
target_link_libraries(my_exe ${Threads_LIBS} lib1 lib2)


    9、要本机debug linux代码,请安装WSL(以管理员身份运行powershell):
        Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
        Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
        
        或者使用CLion自带的mingw
        
        注意事项:WSL2的性能用着用着就会变得很慢很慢,电脑性能会受到WSL2的很大影响,所以,建议安装其他虚拟机软件替代WSL2。

CMake构建工程命令行命令:
    cmake -B build -GNinja -DCMAKE_INSTALL_PREFIX=/usr/bin   #配置(新建build目录、校验编译环境)
    cmake --build build/         #编译     
    cmake --install build/        #安装
«
——张人杰·www.v-signon.com学习者共勉
返回上一页
备案号:京ICP备19038994号-2
个人作品网站:www.up-task.com 主办:个人 English
网站内容如有侵权,请联系删除:1307776259@qq.com