VScode中使用Cmake遇到的問題及其解決方法(推薦)
VS code配置步驟先按照網(wǎng)上的方法完成,大概就是安裝mingw,cmake,VS code,然后安裝VS code中的插件:

安裝好之后,新建文件夾/項(xiàng)目如下:

其中,build是打開文件夾以后自動(dòng)生成的。test中是源文件還有項(xiàng)目文件等。
打開終端(可以是powershell,也可以是vscode中的終端),進(jìn)入到build中,使用
cmake -G "MinGW Makefiles" ..
其中的 MinGW Makefiles 可以修改成其他的編譯選項(xiàng)。根據(jù)錯(cuò)誤的提示來選擇就好。
如果cmake的配置出錯(cuò),有可能是沒有選擇kit,Ctrl+Shift+P輸入
Cmake: Select a Kit
選擇一個(gè)kit,我這里選擇是有mingw的那個(gè)GCC的選項(xiàng)。如果不行的話就再選擇另外一個(gè)。
成功之后會(huì)生成makefile。網(wǎng)上說要輸入
make
去生成可執(zhí)行文件,但是我這里總是會(huì)報(bào)錯(cuò):
make : 無法將“make”項(xiàng)識別為 cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確 ,然后再試一次。 所在位置 行:1 字符: 1 + make -v + ~~~~ + CategoryInfo : ObjectNotFound: (make:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
(為了解決這個(gè)問題,還專門去下載GNU make,添加了相應(yīng)的系統(tǒng)環(huán)境變量。但是也沒有解決問題。最后將GNU make卸載了。)用make的命令其實(shí)是想調(diào)用make的exe文件,不用輸入路徑是因?yàn)樵诃h(huán)境變量中添加了相應(yīng)的路徑。但是其實(shí)在安裝mingw的時(shí)候已經(jīng)安裝了make命令,調(diào)用不到是因?yàn)槟莻€(gè)exe文件沒有改成make.exe。可以使用
mingw32-make
命令來執(zhí)行make的命令,也可以將mingw32-make.exe改名成make.exe,然后輸入
make
來執(zhí)行。成功之后,在終端接著輸入
./TEST_C.exe
其中TEST_C是項(xiàng)目名稱。 這樣就可以得到程序的輸出啦。
附:
CmakeLists.txt內(nèi)容:
cmake_minimum_required (VERSION 3.0) project(Main) set(CMAKE_C_COMPILER "gcc") add_executable(TEST_C test/test_mod.c)
test/test_mod.c的內(nèi)容:
#include<stdlib.h>
#include<stdio.h>
int main(){
int a = -123;
int b, c;
b = a / 10;
c = a % 10;
printf("%d, %d\n", b ,c);
system("pause");
}
總結(jié)
到此這篇關(guān)于VScode中使用Cmake遇到的問題及其解決方法的文章就介紹到這了,更多相關(guān)VScode 使用 Cmake內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++實(shí)現(xiàn)LeetCode(347.前K個(gè)高頻元素)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(347.前K個(gè)高頻元素),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
關(guān)于C++使用std::chrono獲取當(dāng)前秒級/毫秒級/微秒級/納秒級時(shí)間戳問題
這篇文章主要介紹了C++使用std::chrono獲取當(dāng)前秒級/毫秒級/微秒級/納秒級時(shí)間戳,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
C語言詳解如何實(shí)現(xiàn)堆及堆的結(jié)構(gòu)與接口
堆是計(jì)算機(jī)科學(xué)中一類特殊的數(shù)據(jù)結(jié)構(gòu)的統(tǒng)稱,通常是一個(gè)可以被看做一棵完全二叉樹的數(shù)組對象。而堆排序是利用堆這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計(jì)的一種排序算法。本文將詳細(xì)介紹堆的結(jié)構(gòu)與接口,需要的可以參考一下2022-04-04
C語言數(shù)據(jù)結(jié)構(gòu)順序表的進(jìn)階講解
程序中經(jīng)常需要將一組數(shù)據(jù)元素作為整體管理和使用,需要?jiǎng)?chuàng)建這種元素組,用變量記錄它們,傳進(jìn)傳出函數(shù)等。一組數(shù)據(jù)中包含的元素個(gè)數(shù)可能發(fā)生變化,順序表則是將元素順序地存放在一塊連續(xù)的存儲(chǔ)區(qū)里,元素間的順序關(guān)系由它們的存儲(chǔ)順序自然表示2022-04-04

