Configuração do ambiente VSCODE + CMAKE + Libtorch para realizar a compilação de uma chave e DEBUG de uma chave
referência :https://blog.csdn.net/ha_ku/article/details/102625837
Artigo Diretório
Registre o processo de configuração do vscode + camke e introduza a biblioteca de aprendizado profundo de terceiros libtorch para obter a compilação com um clique e o cmake com um clique. Primeiro, vscode e cmake, libtorch como um exemplo de como fazer referência a bibliotecas de terceiros. Consulte principalmente a documentação oficial do vscode. Se você não precisa configurar o cmake, mas chama diretamente g ++, você pode ler diretamente a documentação oficial C / C ++ para Visual Studio Code , mas parece que está em inglês. Se você encontrar é problemático, você pode me ver. O processo é o mesmo, mas os comandos cmake foram substituídos por comandos g ++.
A configuração do ambiente C ++ do vscode consiste principalmente em configurar três arquivos json, c_cpp_properties.json, tasks.json e launch.json.Os três arquivos controlam recursos C ++, opções de compilação e opções DEBUG. A seguir, configuraremos esses três arquivos em ordem, mas primeiro crie um novo hello world.cpp para facilitar nossa configuração.
1. Crie um novo helloworld.cpp
Abra uma pasta com vscode e crie um arquivo helloworld.cpp. Esta etapa serve principalmente para facilitar os arquivos de configuração subsequentes. O início do sonho pode ser gerado em .cpp:
#include<iostream>
void main()
{
std::cout << "hello, world!" << std::endl;
}
2. Configure o arquivo c_cpp_properties.json
Esta etapa é definir várias propriedades do projeto C ++ em vscode, como caminho de pesquisa de arquivo de cabeçalho, predefinido, etc. Aqui nos referimos principalmente ao documento oficial C / C ++ para Visual Studio Code of vsvode . Aqui podemos usar a interface UI ou modificar diretamente o arquivo json para configurar.
F1 ou ctrl + shift + p (o usuário do mac é cmd + shift + p ) abra o painel de comando e digite editar da seguinte forma e selecione C / C ++: Editar configurações (UI) ou C / C ++: Editar configurações (JSON)
Se você escolher C / C ++: Edit Configurations (JSON), poderá pular essas duas etapas e modificar seu próprio arquivo json diretamente de acordo com o arquivo json final. Aqui está para selecionar ** C / C ++: Edit Configurations (UI) ** como um exemplo, vscode irá abrir a seguinte interface de configuração, aqui nós modificamos principalmente o compilador para g ++ por meio do menu suspenso do caminho do compilador
Aqui, continuamos a modificar o modo IntelliSense para a plataforma correspondente ou para o que você deseja usar. O caminho de inclusão apresenta todos os arquivos de cabeçalho no espaço de trabalho por padrão. Aqui podemos importar nossa biblioteca de terceiros libtorch, como meu libtorch em / home Em / kb457 /, kb457 é meu nome de usuário, posso adicionar uma linha / home / kb457 / libtorch / **. O Defines abaixo é para colocar alguns valores pré-definidos, não precisa preencher aqui.
Depois que a configuração for concluída, fechar esta interface irá gerar um c_cpp_properties.json na pasta .vscode do espaço de trabalho. Se você selecionar o arquivo ** C / C ++: Edit Configurations (JSON) ** na etapa anterior, você pode diretamente modifique-o de acordo com a figura a seguir. É isso.
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/home/kb457/libtorch/**"
],
"defines": [],
"compilerPath": "/usr/bin/g++",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
3. Configure o arquivo tasks.json
Este arquivo diz principalmente ao vscode o que você deve fazer ao pressionar Gerar ( ctrl + shift + b / cmd + shift + b ). Em primeiro lugar, selecionamos e abrimos o arquivo helloworld.cpp que acabamos de criar. Ele deve ser selecionado aqui, caso contrário, o vscode não saberá que você precisa fazer mais alterações no tasks.json se quiser gerar o cpp. Em seguida, ainda abrimos o painel de comando ( F1 / ctrl + shift + p / cmd + shift + p ), entramos em tarefa e selecionamos Tarefas: Configurar tarefa de compilação padrão .
isso é importante !!!!!!!!!!!!!!!!!!!!!!!!! 1111
Em seguida, selecione C / C ++: g ++ build activate file , e vscode irá gerar automaticamente o arquivo tasks.json usando o arquivo compilado g ++ na pasta .vscode.
O arquivo tasks.json gerado é o seguinte, onde label pode ser modificado para qualquer nome, command é o comando a ser chamado, args é o parâmetro imediatamente após o comando quando chamado e isDefault no grupo é definido como true para indicar que é a tarefa gerada padrão.
Se você usa apenas g ++, não precisa modificar o arquivo. Como usamos cmake, o arquivo é modificado ainda mais, principalmente modificando o comando e os args da seguinte maneira cmake .. && make -j
e, ao mesmo tempo, também precisamos definir o diretório de trabalho para a execução do comando, modifique o cwd para "${workspaceFolder}/build"
e. A nova pasta de construção no diretório do espaço de trabalho é usada para armazenar os arquivos gerados e, finalmente, o rótulo é modificado para cmake build
facilitar a chamada do arquivo launch.json posteriormente. Nesta etapa, concluímos a depuração da tarefa de compilação. Se você não precisar depurar, pressione Gerar vscode e chame o comando cmake no diretório de compilação para produção. No entanto, devido à falta de CMakeLists.txt, o o arquivo correto não será gerado.Como escrever será colocado no final, vamos continuar a falar sobre como escrever o arquivo launch.json.
{
// 有关 tasks.json 格式的文档,请参见
// https://go.microsoft.com/fwlink/?LinkId=733558
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "cmake build",
"command": "cmake",
"args": [
"..",
"&&",
"make",
"-j"
],
"options": {
"cwd": "${workspaceFolder}/build"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
4. Configure o arquivo launch.json
Abra também o painel de comando, digite debug e selecione DEBUG: Open launch.json : em seguida, selecione C ++ (GDB / LLDB)
Depois de selecionar, abra o arquivo launch.json da seguinte forma:
Aqui, modificamos principalmente o arquivo gerado pelo programa para cmake. Aqui, presumimos que é um exemplo e adicionamos duas configurações , preLaunchTask e miDebuggerPath, para dizer ao vscode para chamar a tarefa de geração e a localização do depurador antes de iniciar a depuração. Se você não adicionar a configuração preLaunchTask , o programa mais recente não será gerado automaticamente toda vez que pressionarmos F5 para depurar e precisará ser gerado manualmente. A configuração modificada é a seguinte:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++ build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/stereo",
"args": ["--dataset=sceneflow"],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "cmake build",
"miDebuggerPath": "/usr/bin/gdb"
}
]
}
5. 编写 CMakeLists.txt
Primeiro, dê-me o CMakeLists.txt que usei.
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(stereo)
# SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_BUILD_TYPE "Release")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/home/kb457/libtorch")
find_package(Torch REQUIRED)
find_package(OpenCV REQUIRED)
find_package(Boost REQUIRED COMPONENTS filesystem system)
# find_package(PythonLibs REQUIRED)
if(NOT Boost_FOUND)
message("Not found Boost")
endif()
include_directories(${Boost_INCLUDE_DIRS})
add_executable(example helloworld.cpp)
target_link_libraries(stereo "${TORCH_LIBRARIES}" "${OpenCV_LIBS}" "${Boost_LIBRARIES}")
set_property(TARGET stereo PROPERTY CXX_STANDARD 11)
Configuração do Visual Studio Code (VS Code) Problemas e soluções comuns do ambiente C / C ++
https://blog.csdn.net/Goo_12138/article/details/83380859
Organize: Visual Studio Code (vscode) configurar ambiente C, C ++ / escrever e executar C, C ++ (principalmente Windows, breve Linux)
https://blog.csdn.net/bat67/article/details/76095813
No ambiente operacional C ++ de configuração de código do Visual Studio, inicie: program'-path-'não existe
https://blog.csdn.net/YoungXinLer/article/details/81393343?utm_source=blogxgwz8#commentBox