ubuntu中使用VsCode+Eigen建立Eiegn應用程序

Visual studio code是微軟發佈的一個運行於 Mac OS X、Windows和 Linux 之上的,針對於編寫現代 Web 和雲應用的跨平臺源代碼編輯器。c++

1. VsCode安裝

VScode官網下載.deb文件,網址連接以下:https://code.visualstudio.com/#alt-downloadsshell

執行下面命令安裝VsCode: sudo dpkg -i code_1.48.2-1598353430_amd64.debjson

在應用程序中搜索vscode能夠看到已經安裝成功。編輯器

2. Vscode環境配置

2.1 安裝c/c++插件

經過左側的Extensions欄目安裝C/C++插件,這裏我已經安裝。學習

2.2 創建工程

1. 因爲VScode是以文件夾的形式管理工程的,所以咱們首先新建一個文件夾,我這裏取名叫eigen_VsCode,表示建立基於Vs_Code建立一個Eigen應用程序,文件夾內容是空的ui

2. 使用VsCode打開文件夾eigen_VsCode,點擊左側的Explorer,而後點擊Open Folder。spa

3. 在eigen_VsCode目錄下新建.cpp文件,這裏使用已經存在的eigenMatrix.cpp文件,以下所示:插件

2.3 更改配置文件(launch.json)

1. 點擊左側的Run, 點擊建立一個launch.json文件,C++(GDB/LLDB),將自動生成launch.json文件命令行

2. 生成的默認launch.json文件以下。3d

3. 將默認launch.json修改爲爲以下,launch.json中各個字段的含義,後面學習中會逐個講解。

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 啓動",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "preLaunchTask": "build",
            "setupCommands": [
                {
                    "description": "爲 gdb 啓用整齊打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}


























2.4 添加構建(編譯、連接等)任務(tasks.json)

爲了方便在VScode裏編譯C++代碼,咱們能夠將相似g++ -g main.cpp等g++命令寫入VScode的任務系統。首先,利用快捷鍵ctrl+shift+p打開命令行,輸入Tasks: Run task,會出現以下提示:

1. 選擇No Configured tasks. Configure Tasks...

2. 選擇Create task.json file from template

3. 選擇Others

4. 生成的默認tasks.json文件以下

這裏的label爲任務名,咱們將」label"= "echo"改成」label"= "build"。因爲咱們的指令是g++,這裏將」command「=」echo Hello「改成」command「=」g++「。而後添加g++的參數args。若是咱們的g++指令爲:g++ -g main.cpp,這裏能夠把參數設置爲以下

若是咱們想配置g++指令爲:g++ -g main.cpp -std=c++11 -o main.out,則參數可設置爲:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args": ["-g", "${file}", "-std=c++11", "-o", "${fileBasenameNoExtension}"]
        }
    ]
}











2.5 添加配置庫文件支持

使用快捷鍵ctrl+shift+p調出命令行,選擇執行咱們的build任務,可是發現build出現錯誤,提示:

 fatal error: Eigen/Core: 沒有那個文件或目錄
 #include <Eigen/Core>
          ^~~~~~~~~~~~
compilation terminated.


因爲代碼中使用了eigen庫文件,須要配置包含庫文件路徑。ctrl+shift+p調出命令行,選擇C/C++: Edit Configurations(UI)

點擊c_cpp_properties.json打開配置文件。

配置以下:

咱們只須要再紅框的 IncludePath 內加上須要的頭文件路徑便可,

這裏提示下,經常使用庫的頭文件常見安裝位置以下:

  • /usr/include/
  • /usr/local/include

因此這兩個基本要加上的,若是你不知道你安裝的庫的頭文件在哪,可是知道關鍵的頭文件名稱,則能夠用 locate 命令來查找:

locate ros.h| grep include

這個命令的意思是查找全部ros.h的位置,而且找出路徑中帶有 include 字段的路徑。最終的c_cpp_properties.json配置以下:

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/include/",
                "/usr/local/include/",
                "/usr/include/eigen3/"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++11",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

















 

2.6 編譯

使用快捷鍵ctrl+shift+p調出命令行,選擇執行咱們的build任務,生成eigenMatrix可執行文件。

 

2.7 調式運行

首先點擊產生斷點,而後啓動調式。

相關文章
相關標籤/搜索