似乎我不能让这个工作.我创建了一个简单的控制台应用程序(依赖于websocket++库),它需要Boost库..但是当我尝试编译时,我得到:
致命错误LNK1104:无法打开文件'libboost_system-vc110-mt-gd-1_51.lib'
但是,我做了创建lib的bjam,(boost_root)/stage/libs并将libs的路径链接到编译器C++/Additionnals includes.
如果我查看(boost_root)/stage/libs文件 libboost_system-vc110-mt-gd-1_51.lib不存在.它被称为libboost_system-vc110-mt-sgd-1_51.lib.
任何的想法?
小智 87
对于像我这样自学C++的业余爱好者来说,这是最简单的方法:
首先将boost库解压缩到您选择的任何目录.我推荐c:\directory.
c:\boost_1_57_0.如果您遇到问题,请转到链接库.
c:\boost_1_57_0.booststrap.bat(不要打扰在命令窗口上输入只是等待,不要关闭窗口,这是我遇到问题的地方,花了我两个星期才解决.过了一段时间,booststrap将运行并生成相同的文件,但现在有两个不同的名字:b2和bjam.b2并等待它运行.bjam并等待它运行.然后将生成一个名为的文件夹stage.c:\boost_1_57_0\stage\lib.你很高兴去!
小智 6
我有同样的问题.这是因为我使用Visual C++ 2010(v100)编译了Boost,并且我试图错误地将该库与Visual Studio 2012(v110)一起使用.
因此,我将配置(在Visual Studio 2012中)更改为项目属性 - > 常规 - > Plataform工具集,并将值从Visual Studio 2012(v110)更改为Visual Studio 2010(v100).
另一个解决方案:
我很沮丧,因为我在我的Link-> Additional Dependencies属性中包含了boost_regex-vc120-mt-gd-1_58.lib,但是该链接不断告诉我它无法打开libboost_regex-vc120-mt-gd-1_58.lib(请注意lib前缀)。我没有指定libboost_regex-vc120-mt-gd-1_58.lib。
我试图使用(并已构建)boost动态库(.dll),但是没有定义BOOST_ALL_DYN_LINK宏。显然在编译中有暗示要包含一个库,如果没有BOOST_ALL_DYN_LINK,它将寻找静态库(带有lib前缀),而不是动态库(没有lib前缀)。
| 归档时间: |
|
| 查看次数: |
150988 次 |
| 最近记录: |