Configuração do ambiente VSCODE + CMAKE + Libtorch para realizar a compilação de uma chave e DEBUG de uma chave

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)

Insira a descrição da imagem aqui

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

Insira a descrição da imagem aqui

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.

Insira a descrição da imagem 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.

Insira a descrição da imagem aqui

{
    "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

Insira a descrição da imagem aqui

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.

Insira a descrição da imagem aqui

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.

Insira a descrição da imagem aqui

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 -je, 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 buildfacilitar 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.

Insira a descrição da imagem aqui

{
// 有关 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)

Insira a descrição da imagem aqui

Depois de selecionar, abra o arquivo launch.json da seguinte forma:

Insira a descrição da imagem aqui

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:

Insira a descrição da imagem aqui

{
    // 使用 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 

Acho que você gosta

Origin blog.csdn.net/qq_27009517/article/details/112180982
Recomendado
Clasificación