簡體   English   中英

如何在XCode中正確包含Boost文件(C ++第三方庫)?

[英]How do you properly include Boost files (C++ third party library) in XCode?

我正在運行Mac OSX 10.9.2(Mavericks),並且使用Xcode 5.1。

我一直在研究如何在程序中正確包含Boost文件,但是我做不到。 我目前將boost保存在/ usr / local / include / boost /中。 每當我嘗試包含boost文件時,它要么無法編譯,要么無法找到文件,或者如果確實找到了文件,它就會與已經存在的其他文件發生沖突(這對我來說就是這樣) 。 有人可以提供有關如何正確執行此操作的詳細說明,並且最好提供某種代碼段嗎? 請包括幾個不同的boost文件(即存在於boost目錄頂層的文件,也包括存在於子目錄中的文件,例如算法文件)。

使用boost庫時,本質上包含兩種類型的包含:

  1. 圖書館
  2. 僅包含模板

例如,array是僅包​​含的模板,因此在編譯時,需要將此標志發送給您的clang:-I / usr / local / include /

這樣,當包含數組時,您將像這樣:

#include "boost/array.hpp"

包含庫時,必須使用b2批處理文件在系統上構建boost。 然后,使用bjam系統進行構建。

構建庫時,必須將它們鏈接到您的clang,標志與僅包含文件有點不同,例如,假設您要包含boost regex庫,該庫在您的系統上將命名為libboost_regex.so,因此您需要告訴您的編譯器以下兩個標志:

-L/usr/local/{boost_build_place}/lib -lboost_regex

如您所見, -L告訴編譯器您要包含到項目中的庫的文件夾, -l標志告訴您要使用的特定庫,如所見,使用-l標志時,必須刪除lib前言和.so

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM