免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2867 | 回复: 8
打印 上一主题 下一主题

[C++] 请问BOOST怎样通过连接? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-12 10:36 |只看该作者 |倒序浏览
我的BOOST已经在LINUX下安装成功了。
用了以下测试程序

#include <iostream>
#include <string>
#include <boost/tokenizer.hpp>
#include <boost/thread/thread.hpp>

using namespace std;
using namespace boost;

void hello()
{
        cout << "hello world" << endl;
}

int main()
{
        thread d( &hello );
        d.join();
        return 0;
}


用了这个makefile文件
main : main.o
        g++ main.o -o main
main.o : main.cpp
        g++ -c main.cpp
clean :
        rm main *.o

编译是过了,但连接不过,是不是少了什么库文件?
main.cpp.text+0xad): undefined reference to `boost::thread::thread(boost::function0<void, std::allocator<boost::function_base> > const&'
main.cpp.text+0xc3): undefined reference to `boost::thread::join()'
main.cpp.text+0xf4): undefined reference to `boost::thread::~thread()'
main.cpp.text+0x10a): undefined reference to `boost::thread::~thread()'
collect2: ld returned 1 exit status

论坛徽章:
39
2017金鸡报晓
日期:2017-02-08 10:39:4219周年集字徽章-周
日期:2023-04-15 12:02:2715-16赛季CBA联赛之深圳
日期:2023-02-16 14:39:0220周年集字徽章-年
日期:2022-08-31 14:25:28黑曼巴
日期:2022-08-17 18:57:0919周年集字徽章-年
日期:2022-04-25 13:02:5920周年集字徽章-20	
日期:2022-03-29 11:10:4620周年集字徽章-年
日期:2022-03-14 22:35:1820周年集字徽章-周	
日期:2022-03-09 12:51:3220周年集字徽章-年
日期:2022-02-10 13:13:4420周年集字徽章-周	
日期:2022-02-03 12:09:4420周年集字徽章-20	
日期:2022-01-25 20:14:27
2 [报告]
发表于 2007-12-12 10:52 |只看该作者
基础

论坛徽章:
0
3 [报告]
发表于 2007-12-12 10:59 |只看该作者
增加 -lboost_thread

论坛徽章:
0
4 [报告]
发表于 2007-12-12 11:21 |只看该作者
ok了,谢谢。
请问-lboost_thread这个是怎样查出来的?
如果我要用asio库呢,我要加哪些参数?
谢谢。

论坛徽章:
0
5 [报告]
发表于 2007-12-12 11:35 |只看该作者
/usr/lib/libboost_thread.a

论坛徽章:
0
6 [报告]
发表于 2007-12-12 11:44 |只看该作者
谢谢帮忙,但我现在在win下还是编译不过
我的makefile
main : main.o
        g++ main.o -L"D:/MyGreenProgram/MinGW/lib" -lboost_thread -o main
main.o : main.cpp
        g++ -c main.cpp
clean :
        rm main *.o

在D:/MyGreenProgram/MinGW/lib下有
libboost_thread-vc80-mt.lib
libboost_thread-vc80-mt-1_34_1.lib
libboost_thread-vc80-mt-gd.lib
libboost_thread-vc80-mt-gd-1_34_1.lib
libboost_thread-vc80-mt-s.lib
libboost_thread-vc80-mt-s-1_34_1.lib
libboost_thread-vc80-mt-sgd.lib
libboost_thread-vc80-mt-sgd-1_34_1.lib

这么多个文件,请问怎样用的?
我用的是MinGW的G++

我现在想在WIN和LINUX下都成功运行,谢谢。

论坛徽章:
0
7 [报告]
发表于 2007-12-12 12:38 |只看该作者
你用的是VC8的lib,不通用的

mingw需要自己编译boost库,然后自己用.

论坛徽章:
0
8 [报告]
发表于 2007-12-12 15:56 |只看该作者
我用的是mingw编译的,但它的名字就是叫vc8我也不知道是什么回事
九片 该用户已被删除
9 [报告]
发表于 2007-12-14 22:58 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP