如果之前有人问过这个问题,一开始很抱歉,但我通过搜索一无所获。
第二个:
- 我使用的是 Kubuntu 12.04,
- gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3,
- boost v1.48.0
正如标题所说,我有一个使用 boost/程序选项库的应用程序。
现在我想把应用程序的源代码发给我的老师,但是他还没有安装 Boost。我正在寻找一种方法来从整个 boost 库中提取相应的源文件,以仅发送真正需要的文件。
我现在想要的是一个包含头文件和 cpp 文件的文件夹,我的老师在他的机器上做的一个简单的 make
就可以完成这项工作。
但我不知道如何获取这些文件。
我找到了
bcp
但我不知道如何处理输出。有 .hpp 和 .cpp 文件,但是当我尝试编译时,我遇到错误...然后我在 boost 文件夹中看到了
bootstrap.sh
脚本,我用bootstrap.sh --with-libraries=program_options
调用了它。这为每个库构建了一个二进制库和头文件。
现在我使用了第二步的libboost_program_options.a
和第一步的头文件一起:
我将带有 -I path_to_header
的 header 路径放在包含路径上,并静态链接到 libboost_program_options.a
。
它甚至可以完美地编译和运行,但只在我的机器上而不是在使用带有 gcc 4.7.x 的 Fedora 17 的 friend 的机器上。
有没有像 这样简单易行的方法“将头文件和 cpp 文件放在一个文件夹中,并将 cpp 文件的路径添加到 Makefile 的列表中,然后运行 make,嘿,你有程序”?
谢谢
最佳答案
为什么不创建源代码的合并?对于您可以运行的每个源文件
gcc -E source.cpp
获取预处理器输出。然后,为了清楚起见,您可以将 header 部分与实际源代码分开。包括减少到只有一个文件。
关于c++ - 如何发布 C++ - 具有单个 boost 库的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13349309/