2012-07-26 43 views
2

我一直在嘗試在Xcode中構建一些基於C++控制檯的程序。我設法打開一個新項目(命令行工具 - > C++)並編輯main.cpp,但我仍然無法弄清楚兩件事:如何從頭開始構建Xcode 4上的C++項目 - 鏈接現有的和新的外部庫

  • 如何創建新的.cpp和.h文件來建立新的庫,特別是如何將它們鏈接到main.cpp(我實際上設法創建.h和.cpp文件,但用#include在main.cpp中導入它們似乎不起作用)
  • 我如何鏈接外部現有庫?我有這個斯坦福C++庫(從CS106B在iTunes U)這是一組.H頭和歸檔的.o。

感謝

回答

1

如果你要使用你的項目來寫C++庫,你必須做的第一件事就是添加一個目標,你會寫每個庫。通過在項目窗口左側的項目導航器中選擇項目來打開項目編輯器。項目編輯器的底部是一個添加目標按鈕。點擊按鈕。在Mac OS X中選擇框架和庫。從庫目標列表中選擇C/C++庫或STL C++庫。點擊下一步按鈕。在產品名稱文本字段中輸入庫名稱。使用「類型」菜單可創建動態或靜態庫。點擊完成按鈕。

創建庫目標後,您可以向其添加新的C++文件。在創建新的C++文件時,確保將文件添加到庫目標,而不是工具目標。在保存面板中選擇庫目標複選框。

現在是時候將庫鏈接到工具目標了。從項目編輯器左側的目標列表中選擇工具目標。點擊編輯器頂部的Build Phases按鈕。點擊Link Binary with Libraries構建階段旁邊的顯示三角形。點擊+按鈕鏈接到現有的庫。

您可能希望Xcode在構建工具目標時自動構建庫目標。要讓Xcode執行此操作,請單擊Target Dependencies構建階段旁邊的顯示三角形。點擊+按鈕添加依賴項。在打開的表格中選擇一個庫目標。

您將不得不提供更多信息來讓任何人回答關於獲取main.cpp以包含您創建的新文件的問題。最起碼,你必須對你如何,包括main.cpp中的頭文件和你是什麼意思時,你說的#include似乎並沒有工作提供代碼。以下內容應包括:

#include "NewFile.h" 

其中NewFile.h是您創建的新頭文件。

+0

什麼是VS的 「STL C++庫」 選項中的 「C/C++庫」 選項之間的區別? – Tony 2012-10-18 01:43:06

+0

如果您使用C++中,最大的區別是在C/C++庫項目不包括任何文件,而STL庫項目包括源代碼文件和配置設置文件。這兩個項目類型都創建一個庫。 – 2012-10-18 02:58:46

+0

有什麼特別到STL項目模板創建的文件?項目設置本身有什麼不同?另外我假設另一個區別是你不能使用STL C++來創建基於c的庫? – Tony 2012-10-18 03:34:06

相關問題