我正在尝试使用Boost的Asio构建项目,但遇到了一些麻烦。最初,我试图在没有任何其他库的情况下构建项目,因为所有内容都应该放在头文件中。

我尝试构建的程序如下所示:

#include

#include

#include

int main()

{

boost::asio::io_service io;

boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));

t.wait();

std::cout << "Hello, world!" << std::endl;

return 0;

}

可以发现这里在加速的网站。

因此,最初我只有:

-I /usr/include/boost_1_40_0

这导致以下错误:

make -k all

Building target: HelloWorld

Invoking: GCC C++ Linker

g++ -o"HelloWorld" ./main.o

./main.o: In function `__static_initialization_and_destruction_0':

/usr/include/boost_1_40_0/boost/system/error_code.hpp:205: undefined reference to `boost::system::get_system_category()'

/usr/include/boost_1_40_0/boost/system/error_code.hpp:206: undefined reference to `boost::system::get_generic_category()'

/usr/include/boost_1_40_0/boost/system/error_code.hpp:211: undefined reference to `boost::system::get_generic_category()'

/usr/include/boost_1_40_0/boost/system/error_code.hpp:212: undefined reference to `boost::system::get_generic_category()'

/usr/include/boost_1_40_0/boost/system/error_code.hpp:213: undefined reference to `boost::system::get_system_category()'

./main.o: In function `boost::asio::error::get_system_category()':

/usr/include/boost_1_40_0/boost/asio/error.hpp:218: undefined reference to `boost::system::get_system_category()'

./main.o: In function `error_code':

/usr/include/boost_1_40_0/boost/system/error_code.hpp:312: undefined reference to `boost::system::get_system_category()'

./main.o: In function `posix_tss_ptr':

/usr/include/boost_1_40_0/boost/asio/detail/posix_tss_ptr.hpp:47: undefined reference to `pthread_key_create'

./main.o: In function `~posix_tss_ptr':

/usr/include/boost_1_40_0/boost/asio/detail/posix_tss_ptr.hpp:61: undefined reference to `pthread_key_delete'

./main.o: In function `boost::asio::detail::posix_thread::join()':

/usr/include/boost_1_40_0/boost/asio/detail/posix_thread.hpp:77: undefined reference to `pthread_join'

./main.o: In function `~posix_thread':

/usr/include/boost_1_40_0/boost/asio/detail/posix_thread.hpp:69: undefined reference to `pthread_detach'

collect2: ld returned 1 exit status

make: *** [HelloWorld] Error 1

make: Target `all' not remade because of errors.

看来我需要系统库。因此,我按照此处的入门指南中的说明进行操作,该指南为我提供了位于 / usr / include / boost_1_40_0 / stage

/ lib中 的一堆库。其中包括 libboost_system.a 。因此,我尝试编译为:

-I /usr/include/boost_1_40_0

-L /usr/include/boost_1_40_0/stage/lib

-l libboost_system

但是,我得到了:

make -k all

Building target: HelloWorld

Invoking: GCC C++ Linker

g++ -L/usr/lib -L/usr/include/boost_1_40_0/stage/lib -o"HelloWorld" ./main.o -llibboost_system

/usr/bin/ld: cannot find -llibboost_system

collect2: ld returned 1 exit status

make: *** [HelloWorld] Error 1

make: Target `all' not remade because of errors.

我不确定为什么,但是似乎无法识别该库或我尝试的其他库。我可能做错了什么?提前致谢!

linux boost filesystem程序链接,在Linux中链接Boost库相关推荐

  1. linux boost filesystem程序链接,c-在Ubuntu 13.04上链接boost :: filesystem

    我正在尝试在Ubuntu 13.04上链接一个项目到boost:filesystem,并且在最后阶段遇到了一些奇怪的链接错误. 构建配置通过cmake完成: find_package(Boost CO ...

  2. linux下的程序开发实验,Linux程序实验.docx

    Linux程序实验 <Linux程序设计>教学大纲Linux Program Design课程类别:学科专业教育课程 课程名称:Linux程序设计开课单位:软件学院课程编号:总 学 时:3 ...

  3. linux命令启动程序,菜鸟学Linux命令:nohup命令启动程序

    在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止. 要实现守护进程,一种方法是按守护进程的规则去编程,比较麻烦: 另一种方法是仍然用 ...

  4. linux下java程序乱码,解决linux下java程序(例如applet)中文乱码问题

    解决linux下java程序(例如applet)中文乱码问题 平台:Mandriva 2006.0 将Windows下的字体文件simsun.ttc拷贝到/usr/share/fonts/zh_CN, ...

  5. linux下静态编译mupdf,在Qt中调用Mupdf库进行pdf显示

    2018.5.10 更新内存对齐说明 感谢知乎网友@孤独子狮指出QImage处需要考虑内存对齐的问题.因为本人缺乏跨平台.图形库开发经验,所以在调试成功后就没有深入探究. 主要修改了QImage的构造 ...

  6. linux系统卸载程序命令行,Linux系统中完全卸载删除程序的命令

    如果您在数据中心服务器或本地服务器中使用Ubuntu或任何其他基于debian的发行版系统,您可能会遇到需要卸载软件的情况.一般情况下,您会登录并运行命令:sudo apt-get remove pa ...

  7. linux各种小程序源码,Linux中的小程序—— 进度条

    在说正事之前,首先科普一下在什么是回车什么是换行? 我们通常所说的回车就是从一行的末尾跳到另一行的开头,但事实上这却是由回车和换行两个动作所完成的,也就是键盘上所完成的工作.但实际上,回车是光标重回开 ...

  8. linux检测usb程序占用,在Linux中检测USB大容量存储器弹出/卸载

    我也遇到了这个问题. 我的嵌入式USB只读大容量存储项目监视主机中的SCSI命令.对于Mac OS X(10.5):在插件上,OS X驱动程序可以很好地告诉设备防止介质被移除(SCSI命令PREVEN ...

  9. linux qt应用程序全屏,QT中MDI应用程序中更改子窗口大小或是全屏显示子窗口的方法...

    1.QT中窗口部件QWidget成员函数showFullScreen();是用于将窗口部件全屏显示. 但是他只对窗口模式的部件有用.子窗口的特征是 Qt::SubWindow,不是独立的窗口.因此对其 ...

最新文章

  1. Elasticsearch - 索引管理
  2. Linux平台Oracle安装脚本
  3. mysql5.7.20非安装版_mysql 5.7.20\5.7.21 免安装版安装配置教程
  4. 总结获取原生JS(javascript)的父节点、子节点、兄弟节点
  5. 以下关于单模光纤的说法中,正确的是( )
  6. 算法—快速排序Sqrt (C语言)
  7. css划上去变长,Css3如何实现鼠标移上变长特效?(图文+视频)
  8. 2018-2019-1 20189210 《LInux内核原理与分析》第四周作业
  9. Android SharedPreferences最佳实践
  10. 【英语学习】【Daily English】U07 Restaurant L04 It's on me today.
  11. Linux内核深入理解中断和异常(6):IRQs的非早期初始化
  12. 第 3 章 UML 类图
  13. su室外渲染参数设置_紫天资源星球下载:多层公寓楼室外Lumion预渲染场景
  14. linux下安装jdk,tomcat,maven
  15. STM32单片机通过ESP8266WiFi模块与Android APP实现数据传输(二)---上位机搭建
  16. idea的简单使用,初始化过程
  17. Rockchip 红外遥控开发指南
  18. 详解文件存储空间管理中的位示图法
  19. spring aop 执行顺序(@Before @Around @After @AfterReturning @AfterThrowing)
  20. python计算两个日期的相隔时间

热门文章

  1. html5--5-15 绘制阴影
  2. DotNetBar12.1新控件——TokenEditor
  3. (转)命令行下,用 xcodebuild 生成ipa文件,通过 itms-services 协议安装
  4. 企业创新系列之:青苹之末
  5. ruby中取反的问题
  6. 爬取知乎“凡尔赛语录”话题下的所有回答,我知道点开看你的很帅气,但还是没我帅
  7. 用 Python 写个贪吃蛇,保姆级教程
  8. python难懂吗?看完这个再也不会感觉Python很难!
  9. xp系统电脑ntp服务器,xp 设置ntp服务器
  10. 简述SHELL全局环境变量与局变环境变量