1. 程式人生 > >命令列模式下編譯多個C/C++原始檔

命令列模式下編譯多個C/C++原始檔

最近在學習linux,需要經常使用命令列,這時才發現熟悉命令列之後,命令列真的很強大,也很有逼格得意

由於在linux系統中需要在命令列格式下對C語言進行編譯,順便也研究了一下windows系統下的命令列編譯,感覺也蠻方便的。

單個原始檔編譯

linux系統下:g++ prog1.cc -0 prog1,echo $?檢視返回值結果。

windows系統下:cl –GX prog1.cpp,自動產生與原始檔同名的exe檔案,echo %errorlevel%檢視返回值結果。

多個原始檔編譯:
linux系統下:gcc –c prog1.cc   //output prog1.o object file
gcc –c prog2.cc   //output prog2.o object file
gcc prog1.o prog2.o  //generate executable file prog1.exe or prog1.out
//above is complied step by step, now we can also compile once

gcc –c –g prog1.cc prog2.cc –o prog1.exe

windows系統:與linux系統整體過程類似,只是命令不同罷了
cl –c prog1.c    //output prog1.obj object file
cl –c prog2.c    //output prog2.obj object file
gcc prog1.obj prog2.obj  //generate executable file prog1.exe or prog1.out
//above is complied step by step, now we can also compile once

cl –GX prog1.c prog2.c 

cl 不是內部或外部命令 解決辦法:確保已經安裝vs,在控制檯中鍵入set檢視環境變數,看是否有類似VS??COMNTOOLS的環境變數,若沒有則在系統環境變數中新建一個環境變數VS??COMNTOOLS,變數值為vs安裝目錄\commom7\tools\。然後在控制檯中鍵入call “%VS??COMNTOOLS%”vsvars32.bat設定cl執行時的環境變數。

相關推薦

命令模式編譯C/C++原始檔

最近在學習linux,需要經常使用命令列,這時才發現熟悉命令列之後,命令列真的很強大,也很有逼格 由於在linux系統中需要在命令列格式下對C語言進行編譯,順便也研究了一下windows系統下的命令列編譯,感覺也蠻方便的。 單個原始檔編譯 linux系統下:g++ pro

在ubuntu編譯C++檔案

如果使用普通的編譯方式 g++ -std = c++11 -o main main.cpp 則會產生如下問題 應該如下編譯 g++ -std = c++11 -o main SalesBook.cpp SalesBook.h main.cpp就可以編譯成功 或使用cma

Smplayer命令模式的用法

用法: smplayer [-minigui] [-defaultgui] [-mpcgui] [-config-path 目錄] [-send-action 動作名稱] [-actions 動作列表] [-close-at-end] [-no-close-at-end] [-fullscreen]

Linux在命令模式執行命令

Linux系統登入環境 在Linux預設的登入的模式中,主要分為兩種,一種是純文字介面的登入環境,另一種則是圖形介面的登入環境。 ●Linux預設提供6個終端介面來讓使用者登入,切換的方式為:[Ctrl]+[Alt]+[F1]~[F6]。系統會按[F1]~[

樹莓派編譯.cpp檔案

轉自https://www.jianshu.com/p/e5c6a255076b 新建一個test資料夾  在test下新建myinclude和src兩個資料夾如圖 命令cd myinclude 進入myinclude 資料夾 ,在該資料夾 命令vim  myhead.h

ubuntu16.04命令模式自動列印^@解決辦法

        筆記本型號為神舟Z7-KP7GT,顯示卡為GTX1060,在更換ubuntu系統驅動時進入命令列模式後,系統會一直自動列印^@字元到控制檯,個人猜想應該是筆記本鍵盤的驅動與ubuntu系統自帶的驅動有所衝突,但無法關閉圖形介面導致無法更換驅動。經百度後,發現可

Dig是一個在類Unix命令模式查詢DNS包括NS記錄,A記錄,MX記錄等相關資訊的工具

Dig是一個在類Unix命令列模式下查詢DNS包括NS記錄,A記錄,MX記錄等相關資訊的工具查詢yahoo.com的A記錄:(此處一定是域而不是主機,如我公司為xinpindao.com)dig yahoo.com A +noall +answer 查詢yahoo.com MX記錄的列表:dig yahoo

linux命令模式配置wifi熱點

本文主要目的是學習筆記,參考N多網上資料,在此謝過前輩先賢們。 First注意: 本文是在centos6下用hostapd+dnsmasq實現Wifi熱點配置,以下操作請首先排除wpa_supplicant、NetworkManager這類網路管理工具的影響。 三種方式檢

webpack4.0命令模式【不用配置檔案】打包教程【傻瓜教程】

解決問題 解決webpack4.0預設是從src目錄下尋找index.js然後輸出到dist目錄中的main.js。很多同學用命令列在這裡會踩很多坑。今天我來徹底解決這個問題。很簡單。 初始化 新建一個目錄 mkdir wpdemo 進入

如何在命令模式執行帶包的java檔案

最近在學習java,但是看到包(package)一節的時候,不知道在命令列下該怎麼執行帶包的java檔案了,經過查資料才搞懂。 比如有以下程式: package com.test public class Hello{           public static voi

在CentOS7命令模式安裝虛擬機器

1.主機環境描述: 作業系統:CentOS7 系統GUI:無 CPU:Intel4代,記憶體:16G, 硬碟1T 主機IP地址:192.168.0.95(內網) 已開啟的服務:ssh,ftp, samba共享(共享目錄為/var/data/test1, 許可權為可讀寫)

CentOS命令模式修改linux解析度的方法

來自:http://www.centoscn.com/CentOS/config/2014/0222/2434.html 進入到/boot/grub/目錄下,然後就可以看到裡面有個名為menu.lst的檔案,用vim將其開啟,可以看到以下內容: # grub.conf

Linux編譯不同目錄的檔案以及靜態庫、動態庫的使用

先看兩篇博文,作為基礎知識。如果對C/C++編譯連結過程都瞭解的話,可以跳過不看。一、  編譯不同目錄下的多個檔案各個檔案的佈局如下:       head.h檔案的程式碼:#ifndef  HEAD_H#define  HEAD_Hint add(int a, int b);  #endif  /*HEAD

說說在CMD命令模式ADB命令顯示為不是內部或外部命令,亦不是可執行程式和批處理檔案的解決辦法

有時候在android開發中我們會用到adb命令列,但很多人在cmd中輸入adb命令後,會出現'adb'不是內部或外部命令,亦不是可執行程式和批處理檔案的問題 解決辦法是:找到SDK目錄,在其子目錄p

mplayer命令模式的使用方法【轉】

mplayer命令列模式下的使用方法http://hi.baidu.com/lovehack2006/blog/item/162ef9778214111eb051b9d4.htmlMPlayerMPlayer 是我在 Linux 系統中用到的相當好的媒體播放程式,它因支援播放廣泛的音/視訊檔案格式而著稱。

Ubuntu命令模式掛載與解除安裝U盤

由於GPU顯示卡出現問題,需要重灌驅動,在命令列模式下插入U盤,拷貝驅動程式,因此本文總結一下再命令列下掛載U盤的方法 首先不要插入U盤,執行 cat /proc/partitions 檢視輸出內容,然後插上U盤,繼續執行上面的指令,觀察輸出的變化,多出來的內容就是U盤

java cmd命令加入jar包

cmd命令列模式下,我們要執行一個java類,一般的方法是: java -classpath xxx.jar Test 但是多數情況下我們的程式都是包含多個jar檔案的,怎麼樣在命令列下將這邊jar包都載入起來呢?如果一個一個的加是比較麻煩的,那麼有沒有一種方法直接指定下

Python版本情況快速進入互動式命令非常實用的四小技巧!

上一篇文章中,小編已經教過大家安裝Python環境了。這篇文章我來教大家如何辨別多版本Python的切換問題,我主要整理了一下四個技巧,希望能幫大家拔出這根眼中刺!   1、直接在命令列視窗中輸入命令“python”,便可以進入命令行了,如下圖所示。  

用javac命令編譯java檔案

export CLASSPATH=/usr/lib/jvm/java-6-sun/lib/commons-codec.jar:/usr/lib/jvm/java-6-sun/lib/commons-httpclient-3.1.jar:/usr/lib/jvm/java-6-sun/lib/commons-l

C#使用命令模式編譯生成dll檔案或者exe檔案

若要生成檔案 MathLibrary.DLL,請使用以下命令列編譯檔案 Add.cs 和檔案 Mult.cs: csc /target:library /out:MathLibrary.DLL Add.cs Mult.cs /target:library