草庐IT

libboost_filesystem-vc

全部标签

c++ - 如何使用 bcp 提取 boost::filesystem

我正在尝试创建包含文件系统模块的boost库的一个子集,因此我可以将该子集包含在我的项目存储库中。在我手动复制.lib文件之前,我遇到了链接器错误。我在Windows764位上使用VisualStudio2013。我已经通过以下步骤使用bcp成功提取了boost/algorithm/string.hpp及其依赖项:从boost.org下载(v1.57.0)。提取。然bootstrap.bat然后b2.exe如GettingStartedonWindows所述.(我不知道b2对我的目的是否必要。)通过打开命令提示符构建bcp工具,我在其中提取了boost存档,然后运行bjamtools\

c++ - ms vc++ iostream 编译错误

MicrosoftVisualC++2010Express中的以下代码:#include//usingnamespacestd;intmain(intargc,char**argv){return(0);}给我错误:1>C:\ProgramFiles\MicrosoftVisualStudio10.0\VC\include\cmath(19):errorC2061:syntaxerror:identifier'acosf'...1>C:\ProgramFiles\MicrosoftVisualStudio10.0\VC\include\cmath(41):fatalerrorC1003

c++ - 为什么 boost 寻找 libboost_*.lib 而不是 boost_*.lib?

我使用标记布局编译了boost库,因此我有boost_program_options-mt.lib形式的库文件。我假设问题是boost_auto_link之类的。我有预处理器定义BOOST_AUTO_LINK_TAGGED,尽管我仍然收到错误消息说VisualStudio正在寻找libboost版本并且无法打开文件。ErrorLNK1104cannotopenfile'libboost_program_options-mt.lib'我该如何解决这个问题才能正确链接到库?UPDATE:Forsomereason,whenIlaunchmyprogram,Igetanerrorsaying

c++ - Boost 或 VC10 的 TR1 - 哪个更好?

我目前正在从VisualStudio2008迁移到2010。我的软件大量使用了Boost及其TR1功能。我现在遇到很多编译器错误,因为VC10有它自己的TR1实现。我知道我可以使用_HAS_CPP0X开关禁用Microsoft的TR1实现(请参阅here),但我不确定这是否还会禁用将来可能有趣的其他功能。所以,我想知道哪个是TR1的更好实现:来自Boost的还是来自Microsoft的?有什么不同吗?禁用Microsoft实现是否有任何缺点? 最佳答案 如果您的代码不能使用VC10的标准库进行编译,那么这可能表明它不符合标准。VC1

c++ - std::promise 的 VC++ 实现

我对std::promise的VC++实现(VisualStudio2015和2017)有一个奇怪的问题。set_value_at_thread_exit()似乎没有像宣传的那样工作——或者我可能误解了标准允许的内容和不允许的内容。以下代码在clang中编译和运行良好,但在使用VS2015(在第二个block中)或VS2017(在第三个block中)编译时会崩溃:#include#include#includeintmain(){{std::coutpromise;autof=promise.get_future();std::thread([](std::promisep){p.se

c++ - 关于 VC++ 和 Sun Studio 中字段初始化顺序、符号比较和未使用变量的警告

我希望为以下C++编译问题和相应的编译器启用警告:未使用的变量--SunStudioCC示例:voidm(){inti=10;}有符号与无符号比较-VC++和SunStudioCC示例:if((unsigned)10错误的字段初始化顺序-VC++和SunStudioCC示例:classA{inti,j;A():j(0),i(0){}};所有这些都被GCC捕获,我想在VC++和SunStudio中启用它们。bash-4.1$g++-Wallmain.cppmain.cpp:Infunction‘voidm()’:main.cpp:1:warning:comparisonbetweensi

c++ - boost filesystem::path 构造函数 std::length_error

我正在尝试使用Boost.Filesystem库遍历目录。问题是当我尝试实例化一个路径对象时,我得到一个std::length_error消息“stringtoolong”和任何长度的字符串,例如“pippo”。我已经尝试了所有这些:strings="pippo";pathp(s);pathp(s.begin(),s.end());pathp(s.c_str());pathp("pippo");我在Windows7上使用boost预编译版本1.47forvc++10。先谢谢你,卢卡编辑这是执行的boost代码(path.hpp第129行)templatepath(Sourceconst

c++ - 在 VC++ 中确定未初始化的变量

我有这段代码,#includevoidfoo(int*a){std::cout很明显,正在使用未初始化的变量。我试过了/RTCu以及依赖errorC4700,但对于上面的代码,编译器不会将其标记为错误。我还尝试运行代码分析,它报告说代码片段没有问题。那么在我们的源代码中确定未初始化变量的可靠方法是什么?我知道valgrind在这里做得很好,但它不是我的选择,因为我有很多对WindowsAPI和MFC的调用。 最佳答案 编译器没有可靠的方法来确定所有未初始化变量的情况。Valgrind(和其他类似工具)不是编译器,而是动态分析工具,如

c++ - 模板代码在 G++ 下工作正常,但在 VC++ 下出错

下面是代码,在g++下运行良好,但在VC++2014下出错:templatestructExpression{public:staticconstintstatus=A::status_;};structFoo:publicExpression{staticconstintstatus_=0;};intmain(void){return0;}为什么?谢谢!错误信息是:errorC2039:'status_':isnotamemberof'Foo'errorC2065:'status_':undeclaredidentifiererrorC2131:expressiondidnoteva

c++ - Visual C++ 2017 Redistributable 包是否支持使用 VC2015 的应用程序?

如果我只在我的机器上安装VisualC++2017Redistributable,它能支持为2015编写的应用程序吗换句话说,如果我卸载VisualC++2015Redistributable并安装VisualC++2017Redistributable,所有应用程序都可以正常运行吗? 最佳答案 不,他们不会工作可再发行包是一个.exe,它会安装所需的DLLmsvcrtXXXX.dll每个版本XXXX发生变化(VS2017、VS2015、...)它也不被引用计数,这意味着无论有多少人安装它,一次卸载都会撕掉文件。更新VisualSt