Re: [問題] CPP如何直接compile

看板C_and_CPP作者 (藍影)時間14年前 (2011/10/27 19:48), 編輯推噓7(7025)
留言32則, 9人參與, 最新討論串2/2 (看更多)
※ 引述《steve1012 (steve)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : Visual studio 2010 : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) : not important : 問題(Question): : 學校規定繳交的作業是CPP檔案且必須可以compile : 可是我在家裡嘗試發現若是把CPP檔案單獨拿出來是不能compile的 用Visual Studio開 : 不能按f5 要compile必須開sln檔案 : 請問要怎麼解決這個問題呢?? : 我知道這個問題可能有點笨 可是課本上沒寫..不知道要怎麼處理

10/27 14:06,
http://ppt.cc/xv4A 也可以學 cl.exe 怎麼用
10/27 14:06
james 大這篇要好好看,是最基礎、實用的入門。 以下文章,說明, 於 Visual C++ IDE 下,不建專案,進行編譯、執行之方法, 原想一張一張截圖下來發 blog,不過太懶了,僅以文字敘述方式進行。 此處以 Visual C++ 2010 為例。 0. 建立 batch file 在 C:\ 底下建議 vc100.bat ,內容如下 @echo off call "%VS100COMNTOOLS%vsvars32.bat" CL.exe "%1" /Fe"%~dpn1.exe" /EHsc REM 開始執行提示, 不想加刪下面這行 echo. &echo --------- start %~dpn1.exe --------- "%~dpn1.exe" REM 不想刪 obj 則刪去下面這行 del "%~dpn1.obj" 要像 code block 加計時功能的話參考連結 https://gist.github.com/1319333 只是簡單計時而已,同時最好將該 batch 設為唯讀。 1. 不需專案直接執行方法 1.1. 工具 -> 外部工具 -> 加入 1.2. [edit box] 標題: NoPorject [edit box] 命令: C:\vc100.bat [edit box] 引數: $(ItemDir)$(ItemFileName)$(ItemExt) [edit box] 初始目錄: $(ItemDir) 1.3. [check box] ( cancel all ) × 使用輸出視窗 × 提示輸入引數 × 結束時關閉 至此,以後你用 Visual C++ 開啟 source code 時,只要按下 工具 -> NoPorject 便可自動執行該 batch file,程式也幫你順便執行。 但這樣還不夠,嫌每次都要按來按去,沒快捷鍵麻煩,繼續以下步驟。 2. 得知 外部工具 之編號 2.1 工具 2.2 裡面有一堆分隔線,注意力放到含有 NoEmpty 那一個 block 假設含有 NoEmpty 之顯示為 --------------- Dotfuxxx (1) ILDxxx (2) 建立xxx (3) 錯誤查詢 (4) ... NoEmpty (7) 外部工具 (8) --------------- 2.3 從上往下數,它處於第 7 個,於是 NoEmpty 編號是 7 3. 新增快捷鍵 3.1. 工具 -> 自訂 3.2. 工具列(分頁)->右下角->鍵盤(K) 3.3. [edit box] 文字游標停在 "按快速鍵" 之 editbox 上, 同時按下你想要執行 NoProject 之快捷鍵,此處假定按下 Ctrl + (Num 0) 3.3.1 若與現有快捷鍵相衝會有提示,要換的話,先把原本的刪除,再輸入。 3.3.2 快捷鍵不小心 over ride 現有快捷鍵,要改回可按 "重設"。 3.3.3 基本上 VS 快捷鍵都快用光了,自己加的話有幾個技巧, (1) Ctrl + Shift + Fn (2) Ctrl + 數字鍵 ( 常用這個搭 ) 3.4. 同一畫面,在「顯示包含下列的命令」底下,直接 keyin 工具.外部命令7 , 完成後在「按快捷鍵」旁按下 「指定」, 再按下 確定退出。 3.5. 按下 工具,如果 NoProject 那欄顯示變成了 NoProject Ctrl + Num 0 就表示成功。 自此,每次用 Visual C++ 開啟 source code 時,只需按 Ctrl + 0 便可自動完成 compile、execute 動作。 4. 在工具列裡面加入 button 4.1. 工具 -> 自訂 4.2. 工具列(分頁)-> 新增 -> 輸入工具列名稱 (此處輸入 EdisonX) 4.3. 完成後切記,先按關閉。 4.4. 工具 -> 自訂 -> 工具列分頁,List Box 之 Focus 放在 EdisonX 4.5. 跳到 命令分頁 4.6. Radio Box 點「工具列」,選 EdisonX 4.7. 按下「加入命令(A)」 4.8. 左半 分類 選 「工具」,右半 命令 選 「外部命令7」 (剛剛的查詢), 完成後按確定,關閉退出。 4.9. 完成後在工具列上,應會多了一個 NoProject 之 Button, 按下此 Button 與按快捷鍵 Ctrl + Num 0 效果相同。 5. 延伸 上述方式有個缺點,一次只能執行一個檔案,但應已符合原 po 需求。 若需使用到 argc, argv 時,可在 1.3 時,將 提示輸入引數 勾選, 強度做得如何,又回歸到 batch file 如何寫,此處只予參考範例。 另 VC IDE 也可用來設定以 gcc、g++ 編譯單一檔與執行, 也可拿來做 批次檔 與 組語之開發環境, ( 要下載 wordlist 作 highlight 便是) 方式都如上述步驟,於此不再贅述。 但編寫其它程式語言、script,有沒有必要用 vs 這麼肥的軟體,留予討論。 -- No matter how gifted you are, alone, can not change the world. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.78.41 ※ 編輯: tropical72 來自: 180.177.78.41 (10/27 19:54)

10/27 19:55, , 1F
怎麼不用 nmake ?
10/27 19:55, 1F

10/27 20:05, , 2F
一方面nmake沒很熟,但nmake就要再寫一個makefile,這不
10/27 20:05, 2F

10/27 20:06, , 3F
就不適合在ide底下直接用快捷鍵執行了嗎?
10/27 20:06, 3F

10/27 21:33, , 4F
我想問一下,vc100.bat是2010的bat嗎? 我執行call
10/27 21:33, 4F

10/27 21:33, , 5F
他跟我說沒這執行檔.~"~
10/27 21:33, 5F

10/27 21:34, , 6F
vc100.bat 那是在step0自己寫的,放到 C:\ 底下。
10/27 21:34, 6F

10/27 21:42, , 7F
說實在的,只不過是交個學校作業,有必要用VC++嗎? 又沒要寫
10/27 21:42, 7F

10/27 21:42, , 8F
視窗程式,既然只要交一個 .cpp 檔給助教,就用 Dev-C++ 寫就
10/27 21:42, 8F

10/27 21:42, , 9F
好了啊。
10/27 21:42, 9F

10/27 21:43, , 10F
推.
10/27 21:43, 10F

10/27 21:44, , 11F
話說, 規定是交個.cpp並可以單獨被compile, 那其實用什
10/27 21:44, 11F

10/27 21:44, , 12F
寫好像都沒差, 重點是像VC不要開到像precompile header
10/27 21:44, 12F

10/27 21:45, , 13F
型式的project. 只要使用pure/empty console C/C++的
10/27 21:45, 13F

10/27 21:46, , 14F
project, 並小心不要用到compiler特有的東西, 一般來說
10/27 21:46, 14F

10/27 21:46, , 15F
拿到哪個可以獨立吃.cpp來compile的compiler應該都行吧?
10/27 21:46, 15F

10/27 21:54, , 16F
的確是像 V 大所說,原 po 老師/助教意思,應該是寫出
10/27 21:54, 16F

10/27 21:55, , 17F
來的檔案能通過 vc 編譯、執行即可 (先限定編譯器後續
10/27 21:55, 17F

10/27 21:56, , 18F
批改也方便) ,做完這篇文章好處是,不建立 project,
10/27 21:56, 18F

10/27 21:56, , 19F
不玩了,我的版本是英文.看得好累
10/27 21:56, 19F

10/27 21:56, , 20F
一次開啟n個含main之檔案,想看結果直接按 ctrl+0 即可
10/27 21:56, 20F

10/27 21:56, , 21F
不會出現 multi-main 問題。
10/27 21:56, 21F

10/27 21:58, , 22F
補一下,2008也可以做,差在步驟4不同而已。
10/27 21:58, 22F

10/27 22:01, , 23F
這種被引用的感覺真害羞...XDDD
10/27 22:01, 23F

10/27 22:03, , 24F
james732跟tropical72...
10/27 22:03, 24F

10/27 22:04, , 25F
在一起.... XD
10/27 22:04, 25F

10/27 22:07, , 26F
老大我跟你同天生日欸
10/27 22:07, 26F

10/27 22:07, , 27F
阿靠 是jame732
10/27 22:07, 27F

10/27 22:11, , 28F
...??
10/27 22:11, 28F

10/27 22:16, , 29F
補張圖看結果可能清楚一點 http://ppt.cc/5J8!
10/27 22:16, 29F

10/27 22:31, , 30F
沒啦XD 就同天生日裝熟一下而已
10/27 22:31, 30F

10/27 22:49, , 31F
我比較推nmake, 或是乾脆學cmake
10/27 22:49, 31F

10/27 23:51, , 32F
謝謝你!!!
10/27 23:51, 32F
文章代碼(AID): #1EgKKH71 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1EgKKH71 (C_and_CPP)