2013-04-21 98 views
2

我以前用Xcode來構建和運行C++程序。如何在Mac上通過命令行編譯C++程序

我使用命令行編譯我的Xcode項目中的相同源代碼。

編譯個人.cpp文件是可以的。

編譯更復雜的項目(多個文件)是不行的。

我試過gccg++clang,clang++

主要問題是未定義的符號。

您能否演示如何通過命令行編譯複雜的項目(多個文件)?

+0

你應該閱讀一些文檔。特別是,請查看'-c'標誌。 – 2013-04-21 03:20:58

回答

3

從您的描述中,聽起來好像你沒有使用-c(編譯但不鏈接)標誌。步驟來建立你的項目:

  1. 編譯所有的源文件:

    c++ -c file1.cpp 
    c++ -c file2.cpp 
    c++ -c file3.cpp 
    
  2. 鏈接最終可執行:

    c++ file1.o file2.o file3.o 
    

    您可以使用可選-o標誌來指定輸出程序名稱。它可能默認爲a.out

這將是更好地使用某種類型的構建工具(如make,例如)自動執行此過程,否則你會發現它是非常容易出錯。