草庐IT

BOOST_PP_DEFINED

全部标签

Windows:Boost 和 CMake

我已经尝试了很长时间来找出问题,但我不能..所以我在这里,我很抱歉。一些信息:我的系统是Windows7,64位专业版,带有VisualStudio10和MinGW我使用以下方法编译了Boost(1.53.0):bootstrap.batmingw.\b2--prefix=C:\boosttoolset=gcc-j4link=shared.\b2--prefix=C:\boosttoolset=gcc-j4link=sharedinstall我的安装看起来像:C:\boostinclude\boost-1_53\boost--headerslib\--libraries,bothdll

c++ - 当同名文件夹已存在时,如何使用 boost 创建新文件夹?

我正在使用boost::filesystem创建一个空文件夹(在Windows中)。假设我要创建的文件夹的名称是新建文件夹。当我运行以下程序时,会按预期创建一个具有所需名称的新文件夹。当第二次运行程序时,我想创建新文件夹(2)。虽然这是一个不合理的期望,但这就是我想要实现的目标。有人可以指导我吗?#includeintmain(){boost::filesystem::pathdstFolder="NewFolder";boost::filesystem::create_directory(dstFolder);return0;}预期输出: 最佳答案

c++ - boost::filesystem::space() 报告错误的磁盘空间

我在驱动器C:上有430GB的空闲空间。但是对于这个程序:#include#includeintmain(){boost::filesystem::pathp("C:");std::size_tfreeSpace=boost::filesystem::space(p).free;std::cout输出是:2542768128Bytes2424MB2542768128Bytes2424MB2830102528Bytes2698MB我需要知道有多少磁盘空间可用,因为我的应用程序必须下载一个巨大的文件,我需要知道下载它是否可行。我在Windows上使用mingw:g++(i686-posix

windows - 如何在后台运行 .exe,使用 perl PAR 的 pp 模块从 perl 脚本创建

我正在使用PAR:Packager从perl创建exe。我希望制作具有隐藏功能的.exe,特别是对于Windows,即在那些未安装事件perl的系统的后台执行。这该怎么做?? 最佳答案 pp-g将构建一个没有控制台窗口的可执行文件。不会创建任何窗口(除非您自己创建)。 关于windows-如何在后台运行.exe,使用perlPAR的pp模块从perl脚本创建,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

c++ - 比 boost::file_mapping 更快的读取文件的方法?

我正在编写一个对延迟敏感的应用程序,它在初始化时读取文本文件。我分析并重写了我所有的算法,这样我85%的执行时间来自以下几行:boost::interprocess::file_mappingfile(Path,read_only);boost::interprocess::mapped_regiondata(file,read_only);我在Windows上写这篇文章-有没有更快的方法将文件映射到内存中?便携性不是问题。 最佳答案 您可以只使用Win32的native函数,但我认为您不会节省很多,因为boost不会增加很多开销:

c++ - 如何在不使用boost的情况下创建目录?

我想在与我的程序相同的路径中创建一个目录,最终将数据保存到。为此,我需要由预处理器分支包围的特定于操作系统的调用,但在此之前我从未编写过任何特定于操作系统的代码。我不确定我需要包含哪些header,或者要使用它们的哪些功能。如果操作系统是Windows、Mac和Linux(无论哪种方法都适用于大多数Linux发行版),我应该使用哪些函数和header?我不想为此使用boost文件系统的原因是,我整天都很难编译它;它的文档和构建系统,呃,对于我简单的灵魂来说似乎太学术/冗长了!最终,我相信维护3或4个单独的文件加载分支对我来说会更快。 最佳答案

windows - 在 Windows 7 上使用 MinGW 编译 boost 之前如何构建 Boost.Build?

我正在运行Windows7EnterpriseSP1并尝试设置C++开发环境。我安装了MinGW,似乎可以自行正常工作。接下来,我需要安装boost……看来唯一好的选择是从源代码编译。(我没有看到任何官方Windows二进制文件。我发现了几个非官方的二进制文件,但它们往往比当前版本落后几个版本,而且不清楚它们是否得到维护。)所以我下载了tarball,解压它,从MinGW打开MSYSshell,转到tools/build/v2并运行bootstrap.sh-这失败了,bootstrap.log如下所示:######Using'gcc'toolset.###rm-rfbootstrapm

windows - 在 Visual Studio 对话框资源脚本中使用#defined 值?

我正在尝试为我的WindowsC++应用程序创建一个关于框。在VisualStudio2008中,我使用对话框编辑器来设计对话框。我希望“关于”框在静态标签中显示应用程序的版本。我可以将版本硬编码到对话框中,存储在.rc文件中,但是我必须记得在多个地方更新版本。我的应用程序版本在version.h中是#defined作为APPLICATION_VERSION。资源编辑器可以说服放#include"version.h"在.rc文件的顶部,所以我可以访问APPLICATION_VERSION符号。但是,我不能在对话框编辑器中使用这个符号。我可以手动编辑.rc文件,用符号APPLICATIO

c++ - 在 Windows 中使用 Boost asio 重新连接套接字

我在连接到另一个端点后将套接字连接到端点时遇到问题。情况是这样的:a)boost::asio::ip::tcp::socket连接到远程主机(比如pop.remote1.com).b)传输结束,socket关闭:socket_.shutdown(boost::asio::ip::tcp::socket::shutdown_both,error);socket_.close(error);然后,当尝试使用与a)中相同的过程连接到另一台主机(例如pop.remote2.com)时,该过程无错误返回,但是套接字保持关闭状态。请注意,当使用pop.remote2.com作为第一个连接时,一切正

windows - 安装boost.log(使用代码块12.11 + gcc 4.7.1的Windows 7)

我试图在代码块12.11上构建并运行boost.log库。我没有boost和boost.log的经验,想学习它,所以,首先我需要安装它。安装Boost首先,我遵循howtoinstallboostusingcodeblocks上的步骤结果在两台不同的计算机上(都有Windows7),我在%mypath%\boost\lib中得到了不同的文件列表(一台电脑只有6个文件,另一台52个)更大的列表是:libboost_chrono-mgw47-mt-1_52.a公司libboost_chrono-mgw47-mt-d-1_52.a公司libboost_date_时间-mgw47-mt-1_5