我迷失在提升库中(特别是boost_program_options)
I'm lost in boost libraries (specifically boost_program_options)
大家好,我一整天都在拼命工作。
所以我想把我的程序移动到大学的超级计算机上,但是它没有boost(我在代码中使用了boost program_options)。在我的pc上,我只有-lboost_program_options,这工作得很好,但显然不再工作了。
因此,我需要将必要的东西与我的代码一起打包,以便它可以在超级计算机(使用intel icpc)上编译
我的第一个障碍是编译makefile中包含boost头文件的代码行,但是我在代码文件夹中运行了以下代码:
bcp --scan --boost=/usr/include/ main.cpp destination_folder/
并将结果文件放在我的include目录中。这就解决了。
Boost程序选项不幸不是头唯一的包,所以我需要别的东西。我得找个图书馆什么的。因为当编译器到达我的makefile(做所有的对象文件)上的最后一个任务时,我会得到错误
在我的旅行中,我发现了这个问题:
提取/构建boost program_options
我尝试了答案建议,但在我的命令中添加"build"不会生成任何额外的文件…
现在完全卡住了,不知道如何得到这个图书馆的东西。我读了很多关于bjam的东西,我的头都快转了,我只是没有足够的理解水平来在我的头脑中处理它们。
操作系统:Linux双系统
一种选择是在该机器上构建boost。把它安装在家里。更改CXXFLAGS和LDDFLAGS以指向适当的头文件和库目录,并在那里构建代码。另一个选择是在你的PC上交叉编译(如果你有这样的交叉工具链)。静态链接您的代码以进行boost,并将最终的二进制文件传递给超级计算机。
因为这两个系统都是linux,所以您只需要使用二进制文件。如果两个系统运行在同一个CPU上,只需静态编译您的程序。如果没有,请下载您的超级计算机所运行的体系结构的debian软件包,并从中提取头文件和二进制文件。
我已经从bjam构建了boost来交叉编译到windows,如果有一个在项目中使用autotools的理由,那就是boost和bjam的混乱。如果可能的话,尽量避免它,如果不能的话,尝试适应debian包的源代码。
您可以在项目中包含并编译Boost.ProgramOptions
的所有.cpp文件。
- 我刚刚安装了Visual Studio,遇到了一些错误,特别是WindowsSDKDir属性未定义.可能找不到某些生成工
- 平均循环值(特别是 HSL 配色方案中的色调)
- 如何通过函数参数使用 fstream(特别是 ofstream)
- 使用 C/C++ 以外的语言构建共享库,特别是 prolog
- 是否提供了在linux上交叉编译gtkmm(特别是v3)windows库/应用程序的说明
- GCC 地址清理器 - 将库功能列入黑名单(特别是 boost::test)
- std::bind通常适用于仅移动类型,特别是std::unique_ptr
- 当我可以将RNG传递给分发时,为什么要使用variate_generator?(特别是C++和Boost)
- 了解函数特征模板的工作原理.特别是,指向成员函数的指针是怎么处理的
- 如何在C++中使用%d,特别是在DrawText()中
- 如何在SWIG包装C++代码中向目标语言(特别是Python)添加替代构造函数
- 如何将c合并到c中(特别是lex)
- C++-占位符是如何工作的(特别是在boost::type_erasure中)
- 如何在xml树中反向行走节点,特别是libxml/c++
- 当您泄漏"device"和"device context"时会发生什么 - 特别是 d3d?
- 转换到另一个库(特别是c++)
- 我迷失在提升库中(特别是boost_program_options)
- msys/MinGW,即使安装了也找不到libpng,试图编译xpdf(特别是pdftopng)
- 并发与并行——特别是在c++中
- 矢量化/优化循环,用于宽寄存器(特别是Xeon Phi)的未对齐数据访问