C C 執行環境的搭建

2022-05-02 23:27:13 字數 3758 閱讀 4893

在本篇文章中,筆者會談談如何搭建c++的執行環境。在不同作業系統中,執行c++編譯器的命令也各不相同,最常用的編譯器是gnu編譯器(linux系統)和微軟visual studio編譯器(windows系統)。

注意c++是沒有版本的說法的,只有編譯c++的編譯器才有版本這一說。c++常用的標準的是「c++11」和"c++98",其中「c++11」是目前最新的標準。如果是linux系統,gcc的版本至少都應該是4.7才能支援c++11標準,而且4.7還未完全支援c++11標準的所有特性,只支援了c++11標準的部分特性,傳送門。但是windows系統中的至少是visual studio 2015才支援"c++11"標準。

筆者的visua studio目錄為:c:\program files (x86)\microsoft visual studio 11.0

配置環境變數:

新增vs_home

c:\program files (x86)\microsoft visual studio 11.0

新增lib

%vs_home%\vc\lib

新增include

%vs_home%\vc\include

path環境變數追加:

%vs_home%\vc\bin

接下來測試一下:cl /?

然後編寫乙個hello.cpp檔案,內容如下:

//

引入iostream

#include int

main()

執行cl /ehsc hello.cpp,會得到hello.exe檔案。其中/ehsc表示啟用c++的異常處理,與/gx[-]相同。

讀者可能會遇到如下錯誤:

1.出現vc編譯,丟失mspdb110.dll解決

這是因為%vs_home%\vc\bin\下沒有mspdb110.dll「這個檔案,直接從%vs_home%\common7\ide\下複製這個檔案到%vs_home%\vc\bin\下即可解決。

2.無法開啟檔案「kernel32.lib」或缺少 「uuid.lib」

這是%vs_home%\vc\lib下沒有這兩個檔案,在不同的計算機中這兩個檔案的位置也不一定是固定的。讀者可以在c盤下搜尋kernal32.lib和uuid.lib,然後將它們拷貝到%vs_home%\vc\lib目錄下。

筆者的linux是:centos-7.4-x64版本。

在上面我們介紹了如何在windows下搭建和執行c++程式,在接下來的章節中,筆者將會**如何在linux下搭建c++語言環境。

在開始搭建環境之前,需要先了解gcc的概念。gcc的全稱是gnu compiler collection(gnu編譯器集合),通過gnu編譯器能夠編譯不同型別的語言。

gcc:gnu c compiler

g++:gnu c++ compiler

gcc編譯.c或.cpp結尾的檔案,但是gcc是分開編譯c和c++的。g++也可以編譯.c或.cpp檔案,但這些檔案都被作為c++進行編譯。

也就是說,g++編譯檔案的時候,預設是會引入標準庫(std)檔案的,但是gcc不會。

檢查gcc和g++是否安裝

gcc --version

g++ --version

如果未安裝,可以按照如下的提示進行一步步進行安裝。

如果是centos6系統:

# yum groupinstall 'development tools'
centos7系統,可能會找不到「development tools」包,可以用如下的命令:

# yum -y install gcc-c++
如果是debian 或 ubuntu 系統

$ sudo apt-get update

$ sudo apt-get install build-essential manpages-dev

在linux系統中,輸入如下命令會顯示gcc的安裝位置和版本資訊

如果是要使用c++11的特性,那麼應該將gcc的版本公升級到4.7以上,建議5.4的版本。

下面筆者介紹如何在centos7下,將gcc4.8公升級到gcc5.4版本,可以參考如下指令碼

echo "downloading gcc source files..."

curl -o

echo "extracting files..."

tar xvfj gcc-5.4.0.tar.bz2

echo "installing dependencies..."

yum install gmp-devel mpfr-devel libmpc-devel -y

echo "configure and install..."

mkdir gcc-5.4.0-build

cd gcc-5.4.0-build

../gcc-5.4.0/configure --enable-languages=c,c++ --disable-multilib

make -j$(nproc) && make install

參考位址為:

接下來筆者寫些c和c++的案例檔案,並且在linux系統編譯和執行起來。

demo.c

#include/*

demo.c: my first c program on a linux

*/int main(void

)

編譯命令可以用cc、gcc、make:

cc demo.c -o demo

gcc demo.c -o demo

make demo
注意:在使用make編譯的時候,不用指定原始檔,只需要制定原始檔去掉字尾後的新的檔案,就可以了。例如上面的demo.c,只要使用make demo, make就會根據規則,將demo.c編譯為demo。

執行上面三個命令的任何乙個,都可以生成乙個名為demo的可執行檔案。

然後使用

./demo
就可以執行了。

效果圖:

接下來我們來編譯和執行一下c++程式。

還是以上面的hello.cpp(這裡不再重複貼出**,就是第一節中「windows7 搭建執行環境」下的案例)為例,我們可以如下編譯

g++ hello.cpp -o hello
或者

make hello
注意這裡不能使用 gcc hello.cpp -o hello 來編譯(如果使用該命令編譯,那麼報出「找不到標準庫」的錯誤),因為gcc命令預設是編譯c語言檔案的,未引入標準庫。

然後執行就可以了

./hello
如果使用了g++11的特性的話,那麼應該指明使用g++11標準進行編譯:

g++ hello.cpp  -o hello -std=c++11
如果make使用的時候,出現target is up to date錯誤資訊,那麼可以加上-b 選項,例如:

make -b hello
how to compile and run a c/c++ code in linux

c++ compiler support

what is the difference between g++ and gcc?

c c 的eclipse環境搭建

解壓到d 盤根目錄,如圖 path環境變數追加 d mingw64 bin 新建c include path環境變數並把值設定為 d mingw64 include新建library path環境變數並把值設定為 d mingw64 lib新建cplus include path環境變數並把值設定為...

C C 開發環境搭建

開始學習c 但是電腦空間不是很足,想搭建乙個比較節省空間的開發環境,可以不需要ide。網上找了半天,用了cygwin64,但是一直沒編譯成功,然後想換vs,占用空間勸退了。最後靜下來研究cygwin64編譯報錯問題,終於解決了,在此記錄下。我寫的內容是乙個簡單的hello world include...

Ubuntu下的C C 環境搭建

儲存編輯好的檔案 sudo apt get update 剛裝好的系統的root是進不去的,需要更改密碼 sudo passwd root 反正是內網用,所以就直接用root了,sudo太麻煩!接下來安裝ssh用以遠端登陸 apt get install ssh ok,接著裝編譯器 apt get ...