Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ #包括<;增压/定时hpp>;导致未解析的外部符号,使用bcp_C++_Visual Studio_Boost_Linker Errors_Lnk2001 - Fatal编程技术网

C++ #包括<;增压/定时hpp>;导致未解析的外部符号,使用bcp

C++ #包括<;增压/定时hpp>;导致未解析的外部符号,使用bcp,c++,visual-studio,boost,linker-errors,lnk2001,C++,Visual Studio,Boost,Linker Errors,Lnk2001,我不是一个有经验的程序员。 我试图切断部分升压并直接粘贴到我的项目中,这是Visual Studio 2010中的C++解决方案。 我是这样做的: 解压boost库 bootstrap.bat bjam tools/bcd-这是创建的目录。\bin.v2\tools\bcp\msvc-10.0\release\link static\threading multi\ 将目录更改为上述目录 我编写了一个脚本,用于扫描解决方案中的所有文件,结果是: 不可复制的静态\u断言比率线程/锁线程时间进程间

我不是一个有经验的程序员。 我试图切断部分升压并直接粘贴到我的项目中,这是Visual Studio 2010中的C++解决方案。 我是这样做的:

  • 解压boost库
  • bootstrap.bat
  • bjam tools/bcd
    -这是创建的目录。\bin.v2\tools\bcp\msvc-10.0\release\link static\threading multi\
  • 将目录更改为上述目录
  • 我编写了一个脚本,用于扫描解决方案中的所有文件,结果是:
    不可复制的静态\u断言比率线程/锁线程时间进程间/映射\u区域线程/递归\u互斥crc cstdint进程间/文件\u映射使\u共享\u ptr词法\u强制转换
  • bcp--boost=C:\Users\xxxxxxx\boost\u 1\u 49\u 0不可复制静态\u断言比率线程/锁线程计时进程间/映射的\u区域线程/递归的\u互斥crc cstdint进程间/文件映射使\u共享的\u ptr词法的\u强制转换词法的\u强制转换。/myboost
  • 将./myboost复制到解决方案中,设置属性,一切正常,直到我不尝试包括“boost/chrono.hpp”(例如,包括“boost/lexical_cast.hpp”是可以的)
  • boost/chrono.hpp导致链接器错误:

    3> playerMain.obj:错误LNK2001:未解析的外部符号“类boost::系统::错误\类别const&\ uuuuCDECL boost::系统::系统\类别(void)”(?系统_category@system@助推@@YAABVerror_category@12@XZ)

    3> playerMain.obj:错误LNK2001:未解析的外部符号“class boost::system::error\u category const&\uu cdecl boost::system::generic\u category(void)”(?generic_category@system@助推@@YAABVerror_category@12@XZ)


我是否正确使用bcp?

我该怎么做才能让它工作

安装Boost以与Visual Studio一起使用的过程描述得相当清楚。您不需要编写任何安装脚本

重要的是要知道,大多数Boost库都是只包含标题的(比如Boost.Lexical_Cast),但有些库需要链接到静态库(比如Boost.System)。有关如何让VisualStudio知道Boost静态库在哪里的入门文档,请参阅本部分

这将列出哪些库仅为而不是标题。有些库(如Boost.Chrono和Boost.Asio)本身只是标题,但它们依赖于需要链接到程序中的
Boost.System


希望这有帮助。

欢迎来到stackoverflow。Boost在多个平台(Windows、Mac、Linux)上使用,因此在请求安装帮助之前,请指定您使用的平台和编译器,这一点很重要。我不得不通过在你的问题中发现
msvc-10
来推断你正在使用visualstudio。这篇文章中没有提到Chrono。在中,有一种方法仅将chrono用作标题。我还在和那个问题斗争,问题解决了。你是对的,我必须将boost/stage/lib添加到VC++目录中。谢谢