我正在尝试在 Windows 7(版本 6.1.7601)上安装 boost v.1.54。安装了带有 mingw、gcc 和 g++ 编译器的 cygwin。
我需要使用 'stage' 参数来构建提升;但是它会产生以下错误:
C:\boost\tools\build\v2>b2 --prefix="C:\boost_build" toolset=gcc --build type=complete gcc stage
notice: could not find main target stage
notice: assuming it is a name of file to create.
don't know how to make <e>stage
...found 1 target...
...can't find 1 target...
C:\boost\tools\build\v2>
Run Code Online (Sandbox Code Playgroud)
到目前为止,我没有收到 boost-build 社区的回复。如果您能指出我正确的方向,我将不胜感激。
补充评论:
我正在开发的程序旨在处理大量数据并生成至少 2^34 布尔数据。这些数据在程序运行过程中静态生成和清除(每个实例仅对一部分进行排序),最后将至少 2^21 行统计数据组成的向量传递到最后阶段进行进一步处理。
但是,STL 排序对于某些输入数据会失败。排序完成其过程后,某些向量行将被清零或损坏。似乎我唯一的选择是尝试对混合快速排序/插入排序算法进行硬编码。
如果您表达您的想法,我将不胜感激。干杯。
最后阶段数据的数据结构:
struct statisticalValues{
unsigned long long id; //index id
unsigned int col_Sum; //Sum: total number of 1s for each combination
unsigned int col_Relevancy; //Relevancy = total number of 1s produced by (Comb AND Rel)
float col_Sensitivity; //Sensitivity= Relevancy / X
float col_Precision; //Precision= Relevancy / Sum
};
extern vector<statisticalValues> statistics;
Run Code Online (Sandbox Code Playgroud)
调用STL排序:
sort(statistics.begin(), statistics.end(), BySensitivity());
Run Code Online (Sandbox Code Playgroud)
比较标准:
#define EPSILON 0.0001 // user-defined tolerance for equality of floating-point numbers
struct BySensitivity {
bool operator()(statisticalValues const …Run Code Online (Sandbox Code Playgroud)