[爆卦]VSCode 環境變數是什麼?優點缺點精華區懶人包

為什麼這篇VSCode 環境變數鄉民發文收入到精華區:因為在VSCode 環境變數這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者dzwei (e^(i*pi)+1=0)看板C_and_CPP標題Re: [問題] VScode...



===================
電腦排版
手機使用者閱讀小心傷眼
===================

===================
前言
===================

剛剛有人說cmake的問題

小弟剛好前鎮子也有碰到過

所以整理一些心得xd

有錯還麻煩這邊的高手指正

這邊提供兩種方式

以下都是在windows下討論

Linux就像大家想的那樣

===================
cmake使用說明
===================

----------------------------------------
0. 建立專案目錄結構
----------------------------------------

目錄結構大概會像 :

projectdir
- src
- A
- a.h
- a.c
- CMakeList.txt
- B
- b.h
- b.c
- CMakeList.txt
- CMakeList.txt
- build
- debug
...etc.
- release
...etc.


這是官方建議的結構

建議讀者先創立資料夾目錄

再開始coding

結構類似這樣

----------------------------------------
方法1. mingw + cmake
----------------------------------------

1-1. 需要安裝的程式:

(1) camke

(2) mingw32或mingw64

(3) 確認 cmake mingw的bin資料夾有在環境變數path裡面
(通常要自行設定)

1-2. 使用方式

(0) cd projectdir/build/debug

先到建置的路徑

build/debug build/release都可以

(1) cmake ../../src -G "MinGW Makefiles"

使用Windows的CMD不會有問題

用git-bash記得要先把git-bash的bin路徑加入path環境變數

否則會有問題

如果照上面設定第一次執行有問題(找不到sh.exe)

通常執行第二次就OK了XD

再不然就換回windows-CMD去執行指令吧

最後記得大小寫別打錯!

之前build opencv失敗過

可參考 https://tinyurl.com/ybl7lw78

cmake指令加上-DBUILD_TESTS=OFF選項

(2) mingw32-make

(3) 執行程式測試

----------------------------------------
方法2. M$VC + cmake
----------------------------------------

2-1. 需要安裝的程式:

(1) camke

(2) visual studio 2017 + MSBuild-15
(現在直接抓最新板是這個版本)

(3) 確認 cmake MSBuild-15 VS2017-msvc的bin資料夾有在環境變數path裡面
(通常要自行設定)

2-2. 使用方式

(0) cd projectdir/build/debug

先到建置的路徑

build/debug build/release 都可以

(1) cmake ../../src -G "Visual Studio 15 2017 Win64"

15是MSBuild的版本
2017是visual studio的版本
Win64是64位元,若去除,則會建立32位元版本
注意大小寫別打錯

(2) MSBuild.exe XX.sln

.sln相信很多用過visual studio的人都知道他是專案檔

cmake會建置出visual studio的專案檔

只要MSBuild XX.sln(XX是你的專案名稱)即可完成建置

(3) 執行程式測試




===================
結論
===================

雖說在win上兩個方式都可以

不過我還是建議方法2

尤其有再做cross-platform的人更建議2了

有些lib比方說opencv opencl cuda

在windows上都有prebuild的版本

prebuild版本都是用MSVC去編譯的

所以只能選擇方法2

當然如果想要挑戰一下

方法1也不是說不行

我之前用mingw64 Build opncv失敗

(2018.9.27無聊亂玩重新編譯就過了

詳見更新處)

就沒在試過方法1就是了qq

===================
參考資料
===================

wiki book for cmake :
https://tinyurl.com/ycv5hafh

cmake-generators(7) :
https://tinyurl.com/ldff4vs
--
我老婆-子瑜,不服出來灣阿
https://imgur.com/sCghzuF
https://imgur.com/JvAE0Qu
https://imgur.com/k9PCODr
https://imgur.com/CZmFmeq
https://imgur.com/S7FgYgF

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.105.133.190
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1537865034.A.AC9.html
※ 編輯: dzwei (120.105.133.190), 09/25/2018 17:04:19
bigbite: 教學文先推 09/25 17:43
alan23273850: 快m起來 09/25 18:12

實際上寫起來還是要點進去我給的reference先看一下

那些只是最基本 可以用在大學/碩士的作業/論文

實務上要把cmake寫的好 其實有不少技巧(很多我還不知道qq)

其實還有一個qt的qmake可以用

我也很推這個

不過導出dll的時候就要注意一些事情
※ 編輯: dzwei (120.105.133.190), 09/25/2018 18:25:54
eye5002003: 我會建議使用cmake-gui,切換option會比較方便 09/25 18:36
eye5002003: build資料夾不用固定放在專案資料夾裡面,這樣比較靈活 09/25 18:37

我覺得一開始使用cmake gui 其實蠻痛苦的QQ

eye5002003: 可以(debug/release)X(shared/static)各自建立一個 09/25 18:38
eye5002003: MinGW不會強制建立debug資料夾,VS才會(可以叫它住手) 09/25 18:41

你說的應該是設定bin output吧~
※ 編輯: dzwei (120.105.133.190), 09/25/2018 18:44:19
eye5002003: VS不是會在bin output位置建立debug資料夾嗎?可以要求 09/25 19:15
eye5002003: VS別這麼做,設定RUNTIME_OUTPUT_DIRECTORY_DEBUG便可 09/25 19:16

OK 我了解了
※ 編輯: dzwei (36.234.251.15), 09/27/2018 02:01:29
Ryspon: 前幾個月剛試過 (1) 是用 cmake-gui build 給 VS code 用 09/28 03:36

你可能也想看看

搜尋相關網站