ios編譯boost
Ⅰ boost庫asio下的例子如何編譯啊
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <pthread.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define PORT 8888
void *yourfunction(void *connect_fd)
{
int connfd = *((int *)connect_fd);
。。。。
} //你沒說具體的應用,所以只能寫這么多了。在這裡面直接對connfd調用read和write函數就可以和客戶端收發數據了。
//補充:是啊 返回給客戶端什麼信息啊?
int main(void)
{
int sockfd, n, connfd;
pthread_t tid;
struct sockaddr_in servaddr;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd == -1)
{
perror("socket:");
exit(1);
}
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(PORT);
n = bind(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr));
if (n == -1)
{
perror("bind:");
exit(1);
}
n = listen(sockfd, 20);
if (n == -1)
{
perror("listen:");
exit(1);
}
while (1)
{
connfd = accept(sockfd, (struct sockaddr *)&servaddr, NULL);
pthread_create(&tid, NULL, yourfunction, (void *)&connfd);
}
return 0;
}
Ⅱ boost 庫1.36無法編譯。
為了樓主的問題我是跋山涉水,翻山越嶺啊 跑國外去down了這個東東
我發現我編譯是沒有問題的 在編譯bat裡面我發現 它會檢測你現在裝的編譯器環境是那個 例如
setlocal & endlocal
if EXIST "%ProgramFiles%\Microsoft Visual C++\VC98\bin\VCVARS32.BAT" (
set "BOOST_JAM_TOOLSET=msvc"
set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual C++\VC98\"
goto :eof)
如果你有錯誤說明環境變數有問題 建議你查下你的vc裝的有沒有問題
Microsoft Visual C++ 6.0,可在工具→選擇→目錄處把Boost的路徑(如前面的boost_1_26_0)添加到Include Files搜索路徑中。
boost 貌似是很強大的 以前沒怎麼注意過 樓主會用介紹下嘍
good luck
剛才看了下 果然很強大哦 謝謝樓主帶領我到boost的世界 哈
Ⅲ 如何編譯libboost
您好,這樣的:
1、當前boost最新版本為1.55,下載地址http://sourceforge.net/projects/boost/files/boost/1.55.0/
或者從官網(www.boost.org)下載最新版的BOOST源碼,經過測試,2012和2013步驟相同,這里以2012為例。
2、打開VS2012 Native Tools Command,可以從開始--Microsoft Visual Studio 2012找到:將下載的 boost_1_55_0.zip 解壓在F盤,例如 F:\boost_1_53_0,執行bootstrap.bat。
3、編譯,可以簡單的使用b2 install,也可以指定存放目錄,或者尋找網上其它幫助文章。
查看幫助可以輸入:.\b2 --help
比如要開啟多線程編譯:b2 install threading=multi
設置生成的是debug或者release
備註:如果是使用VS2013,請指定輸出庫類型,否則會缺一個lib文件:
"無法打開文件 libboost_thread_vc120_mt_sgd-1_55.lib"。
在2013時,我是使用下面的語句進行編譯:
// 如果要獲取動態庫:
bjam install stage --toolset=msvc-12.0 --stagedir="C:\Boost\boost_vc_120" link=shared runtime-link=shared threading=multi debug release
// 如果是要獲取靜態庫:
bjam install stage --toolset=msvc-12.0 --stagedir="C:\Boost\boost_vc_120" link=static runtime-link=static threading=multi debug release
其中,注意修改--toolset=msvc-12.0,將12.0修改成對應的vs版本號,12.0是VS2013的版本號。
目標地址也要修改成你所需的。
注意,不要漏了install,它會幫你把頭文件集合到一個文件夾中。
編譯過程有一個復制過程,編譯需要的時間比較長,本次編譯過程中,會在C盤根目錄下生成一個boost文件夾,然後包含include和lib文件夾,這就是我們將要使用的頭文件和庫文件。
4、編譯完了我們就使用編譯在C盤中的文件。我將它們拷貝到了F盤,
需要簡單的配置兩個地方:這里使用絕對路徑,也可以配置環境來使用。
5、然後建立了一個工程測試。 在BoostTest中新建一個控制台應用程序,下圖三個文件分別是:
1) 將要使用的boost頭文件和庫文件。 2) 解壓出的boost文件夾,就是使用這個文件夾來進行 1 -- 3步驟的。 3)BoostTest 測試工程。
#include <iostream>
#include <boost/thread/thread.hpp>
void hello()
{
std::cout << "Hello world, I'm a thread!" << std::endl;
}
int main()
{
boost::thread thrd(&hello);
thrd.join();
}
編譯測試工程, 並運行,開始boost之旅吧。
Ⅳ 如何調用已經編譯好的boost庫
vc的話有編譯好的,mingw的話也有,不過不是最新版的,自己編譯找教程吧,大概是先編譯一個bjam的文件出來,然後用它編譯boost,挺快的,其實沒有某些教程說的幾個小時,我的i5-460M大概是編譯了大半個小時,boost1.56
Ⅳ 為什麼boost需要編譯的庫這么坑爹
,
2, 本編譯程序同操作系統能使用目標系統重新編譯源代碼應該boost庫種用文件式實現沒依賴性實現庫需要目標系統安裝相應庫文件才程序鏈接
3編寫源代碼編譯器編譯目標文件鏈接器鏈接執行文件VS傻瓜軟體隱藏細節問題找
Ⅵ boost怎麼編譯
1、用它帶的booststrap腳本生成b2、bjam
2、用b2、bjam生成lib
boost附帶的文檔一開始就是教你怎麼安裝編譯boost。照著做就是了
Ⅶ 如何編譯64位 boost類庫
64位windows平台,編譯環境是VS2005,進入Visual Studio 2005 x64 Win64 Command Prompt(單純的cmd也不一定不行,我沒試)。把bjam.exe放在boost根目錄下,進入根目錄,執行: bjam --toolset=msvc address-model=64 --with-thread stage bjam
Ⅷ 如何在XCode中配置Boost庫
話說boost在xcode5上的安裝確實很費勁,參考實驗了相當數量的文章後,終於成功在IOS模擬器上跑通了boost庫,廢話少說,上步驟
1. 下載boost.sh安裝腳本,這里選擇的是payco的安裝腳本,https://gist.github.com/payco/6880661 ,最簡單好用。也可以在csdn上我的代碼中下載,https://code.csdn.net/snippets/68017.git
2. 打開終端,su成root,命令為 sudo su,輸入密碼即可
3. 清理掉所有之前安裝的配置,尤其是在用戶目錄下的user-config.jam,必須刪除掉,之前安裝的文件也一並刪除掉,免得影響。(本人就是沒清理之前的配置,導致一直編譯不通過)
4. 把boost.sh 拷貝到/usr/local 下,運行之,會自動下載,解壓,配置,編譯boost。
5. 等待編譯安裝完畢後,顯示 Completed successfully,boost庫即安裝完畢
完成了一半,剩餘的工作就是配置xcode5,其他版本的xcode也是大同小異,沒有什麼區別的。
6. 在xcode下的target-》Building setting-> Linking-> Other Linker Flags中,添加 -lboost_system -lboost_thread,這兩項(常用的功能都包含在這2個庫中,還有其他要使用的功能,都在這里添加庫文件)
7. 在在xcode下的target-》Building setting->Search Path s 中,Header Search Path 添加/usr/local/ios/prefix/include
8. 在在xcode下的target-》Building setting->Search Paths 中,Library Search Path 添加/usr/local/ios/prefix/lib(這是給真機用的,包含arm6,arm7,arm7s等),以及/usr/local/ios/build/i386(這是給模擬器用的),基本都在一個位置上,截取一張圖好了
添加完畢之後,測試一下編譯是否成功。
在任意一個cpp文件內,添加
#include "boost/swap.hpp"
#include "boost/asio.hpp"
編譯無報錯,則順利完成boost庫在xcode5下的IOS使用編譯:)
。
Ⅸ 如何編譯boost linux
linux平台下要編譯安裝除gcc和gcc-c++之外,還需要兩個開發庫:bzip2-devel 和python-devel,因此在安裝前應該先保證這兩個庫已經安裝:
#yum install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel -y
然後是去官網下載源碼包,按照如下步驟:
#tar xvzf boost_1_50_0.tar.gz
進入boost_1_50_0目錄:
#cd boost_1_50_0
然後是編譯安裝,boost源碼包中有配置腳本,直接用就可以:
#sh ./bootstrap.sh
Building Boost.Build engine with toolset gcc... tools/build/v2/engine/bin.linuxx86_64/b2
Detecting Python version... 2.6
Detecting Python root... /usr
Unicode/ICU support for Boost.Regex?... not found.
Generating Boost.Build configuration in project-config.jam...
Bootstrapping is done. To build, run:
./b2
To adjust configuration, edit 'project-config.jam'.
Further information:
- Command line help:
./b2 --help
- Getting started guide:
http://www.boost.org/more/getting_started/unix-variants.html
- Boost.Build documentation:
http://www.boost.org/boost-build2/doc/html/index.html
接下來就是編譯,重點關注是否編譯成功:
#./b2
Ⅹ 安裝了多個版本vs怎麼編譯boost
boost有些庫是不用安裝的,僅需包含頭文件庫就行了。
但是有些很爽的庫(thread,regex)需要根據不同的系統做不同的調整,所以必須編譯。
編譯的流程很簡單,如果是windows操作系統,首先找到那個booststrap.bat的東西,然後在控制台下運行它,它會生成bjam.exe,然後就可以通過bjam來編譯boost庫了,在命令行下輸入bjam --help看選項。
如果嫌麻煩,可以一次將boost庫需要編譯的全部編譯了,bjam --build-type=complete,生成庫全在stage目錄下。