日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Ubuntu上配置VTK開(kāi)發(fā)環(huán)境——基于Visual Studio Code 與 GCC

環(huán)境說(shuō)明

vtk版本7.1.1
visual studio 1.16.1
Ubuntu 16.04 + 自帶的gcc

創(chuàng)新互聯(lián)建站2013年開(kāi)創(chuàng)至今,先為西安等服務(wù)建站,西安等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為西安企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

編譯過(guò)程與windows下類似還好,運(yùn)行自己的代碼開(kāi)始面對(duì)cmake與make的各種命令以及文件的編譯關(guān)系一臉懵逼,特別是一堆頭文件的依賴和庫(kù)依賴不知道從哪加起,瞬間發(fā)現(xiàn)visual studio寫c++的代碼簡(jiǎn)直是神器。

貌似Linux下比較智能的可以用eclipse(我喜歡的idea開(kāi)發(fā)c++只有收費(fèi)版),懶得折騰得太多,就選擇了個(gè)輕量級(jí)的visual studio code搭建環(huán)境試試。

建議開(kāi)始前稍微熟悉下cmake+gcc的編譯模式,相關(guān)命令多基于百度Google,有問(wèn)題之處歡迎交流。

vtk 環(huán)境編譯

編譯前需要先安裝opengl的運(yùn)行庫(kù)
sudo apt-get install freeglut3-dev

基于cmake-gui編譯,我編譯選項(xiàng)中主要修改為:

BUILD_SHARED_LIBS  選中  編譯可分享的庫(kù)文件
CMAKE_BUILD_TYPE    release   如果有調(diào)試的需要還需選中debug
CMAKE_INSTALL_PREFIX   (默認(rèn)位在/usr/local目錄下,make install 命令會(huì)將編譯出的靜態(tài)鏈接庫(kù)放入此目錄下)
VTK_USE_CXX11_FEATURES    使用c++11標(biāo)準(zhǔn)
VTK_RENDERING_BACKEND     使用opengl的版本,我的顯卡支持opengl,不支持默認(rèn)的opengl2 !!!! 設(shè)置為opengl2可以編譯成功但運(yùn)行時(shí)會(huì)出錯(cuò)

還可以考慮是否需要編譯Python Java等接口,是否需要編譯示例代碼等

cmake 編譯出結(jié)果后,在輸出目錄調(diào)用make命令編譯(臺(tái)式機(jī)core i3處理器 半個(gè)多小時(shí))

編譯完成后 make install (不確定沒(méi)有install會(huì)不會(huì)出問(wèn)題)

基于命令行編譯使用vtk運(yùn)行示例代碼

復(fù)制目錄下的代碼文件和cmake文件到項(xiàng)目文件夾 vtk-7.1.1/Examples/Tutorial/Step1/Cxx

運(yùn)行命令:

cmake ./
make

在編譯自己的代碼時(shí),對(duì)CMakeLists.txt文件內(nèi)容需要略作修改:

PROJECT (myVolumeRendering)

# 1. 如果提示找不到VTK則設(shè)置vtk的編譯輸出路徑
SET(ENV{VTK_DIR} /home/Hadoop/vtk-7.1.1/_bin) 

find_package(VTK REQUIRED)
include(${VTK_USE_FILE})

# 2. 此處設(shè)置為自己的cpp文件,直接添加即可
SET(SRC_FILES
  myVolumeRender.cpp
  MyVtkTool.cpp)


add_executable(myVolumeRendering ${SRC_FILES})

target_link_libraries(myVolumeRendering ${VTK_LIBRARIES})

配置visual studio code編譯運(yùn)行示例代碼

復(fù)制目錄下的代碼文件和cmake文件到項(xiàng)目文件夾 vtk-7.1.1/Examples/Tutorial/Step1/Cxx

重點(diǎn)在于設(shè)置tasks.json文件(調(diào)用cmake與make命令編譯源代碼)與launch.json文件(生成的可執(zhí)行文件運(yùn)行或調(diào)試)

task 文件設(shè)置

用vs code打開(kāi)項(xiàng)目文件夾,ctrl+shift+p, 輸入選擇 tasks:configure task runner,選擇c++ 或者other會(huì)在.vscode文件夾下新建一個(gè)tasks.json文件。 貌似需要新建build文件夾。

粘貼以下內(nèi)容:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "options": {
        "cwd": "${workspaceRoot}/build"
    },

    "tasks": [
        {
            "taskName": "cmake",
            "command": "cmake",
            "args": ["-G",
                "Unix Makefiles",
                "-DCMAKE_BUILD_TYPE=relese",
                ".."]

        },
        {
            "taskName": "make",
            "command": "make",
            "args": [],
            
            "group": {
                "kind": "build",
                "isDefault": true
            }
            
        }
        
    ]

  
}

launch.json文件設(shè)置

f5運(yùn)行,會(huì)提示生成默認(rèn)的launch.json文件,復(fù)制以下內(nèi)容

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceRoot}/helloa",//此處設(shè)置可執(zhí)行文件名
            "args": [],//可以設(shè)置調(diào)試參數(shù)等
            "stopAtEntry": false,
            "cwd": "${workspaceRoot}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

cmakelists.txt文件設(shè)置

添加vtk的路徑(不修改默認(rèn)的INSTALL_PREFIX路徑時(shí)不確定),此處設(shè)置為cmake的output路徑
SET(ENV{VTK_DIR} /home/hadoop/vtk-7.1.1/_bin)

編譯運(yùn)行

  1. ctrl+shift+p 輸入run task命令,運(yùn)行cmake
  2. 可以同上運(yùn)行make task(或者直接ctrl+shift+b)
  3. F5運(yùn)行或調(diào)試

添加頭文件路徑 如果不需要代碼補(bǔ)全等功能,此步可以省略。

包含頭文件的位置會(huì)出現(xiàn)綠色波浪線提示找不到頭文件,需要指定頭文件的路徑。點(diǎn)擊頭文件,然后點(diǎn)擊左方出現(xiàn)的黃燈,選擇某個(gè)設(shè)置選項(xiàng)會(huì)在.vscode目錄下新建c_cpp_properties.json文件,在includePath與browse{path}下添加vtk的包含目錄。

在運(yùn)行cmake task后,build/CMakeFiles/you_execute_name.dir/DependInfo.cmake文件里有相關(guān)的包含目錄,用帶正則表達(dá)式的查找替換選項(xiàng)將 "$ 替換為 ", 即可添加后方的逗號(hào)。

       {
            "name": "Linux",
            "includePath": [//作用不詳,不確定去掉的影響……
                "/usr/include/c++/5",
                "/usr/include/x86_64-linux-gnu/c++/5",
                "/usr/local/include",
                "/usr/include",
                "/usr/include/x86_64-linux-gnu",
                "${workspaceRoot}",
                "/home/hadoop/vtk-7.1.1/_bin/Common/Core",
                "/home/hadoop/vtk-7.1.1/Common/Core",
                //……
                "/home/hadoop/vtk-7.1.1/Utilities/EncodeString"
            ],
            "defines": [],
            "intelliSenseMode": "clang-x64",
            "browse": {  //用于代碼補(bǔ)全
                "path": [
                    "/usr/include/c++/5",
                    "/usr/include/x86_64-linux-gnu/c++/5",
                    "/usr/local/include",
                    "/usr/include",
                    "/usr/include/x86_64-linux-gnu",
                    "${workspaceRoot}",
                    "/home/hadoop/vtk-7.1.1/_bin/Common/Core",
                    "/home/hadoop/vtk-7.1.1/Common/Core",
                    //……
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            }
        },

本文標(biāo)題:Ubuntu上配置VTK開(kāi)發(fā)環(huán)境——基于Visual Studio Code 與 GCC
瀏覽地址:http://www.dlmjj.cn/article/cdjojdd.html