8

起初很抱歉,如果之前问过这个问题,但我通过搜索一无所获。

第二:

  • 我正在使用 Kubuntu 12.04,
  • gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3,
  • 提升 v1.48.0

正如标题所说,我有一个使用boost / 程序选项库的应用程序。

现在我想将应用程序的源代码发送给我的老师,但他还没有安装 Boost。我正在寻找一种从整个 boost 库中提取相应源文件的方法,以仅发送那些真正需要的文件。

我现在想要的是一个包含头文件和 cpp 文件的文件夹make,我的老师在他的机器上做一个简单的工作。

但我不知道如何获取这些文件。

  • 我找到bcp了,但我不知道如何处理输出。有 .hpp 和 .cpp 文件,但是当我尝试编译时,我得到错误而不是错误...

  • 然后我bootstrap.sh在 boost 文件夹中看到了脚本,我用bootstrap.sh --with-libraries=program_options. 这为每个库构建了一个二进制库和头文件。

现在我将libboost_program_options.a第二步中的头文件和第一步中的头文件一起使用:

我将标题的路径-I path_to_header放在包含路径上并静态链接到libboost_program_options.a.

这甚至可以完美地编译并运行,但仅在我的机器上而不是在使用 Fedora 17 和 gcc 4.7.x 的朋友的机器上。

有没有像“将头文件和cpp文件放在一个文件夹中并将cpp文件的路径添加到Makefile中的列表然后运行make并嘿你有程序”这样的工作和简单的方法?

谢谢

4

3 回答 3

0

为什么不创建源代码的合并?对于每个源文件,您可以运行

gcc -E source.cpp

获取预处理器输出。然后,为了清楚起见,您可以将标题部分与实际源代码分开。包含减少到仅一个文件。

于 2012-11-14T11:06:11.877 回答
0

我不知道,如果这是答案,你想听我说,但是现在我的老师在他的电脑上安装了boost库,在他听说这些问题之后......

现在我可以将文件与该-lboost_program_options选项链接起来,它可以在我的机器、我朋友的机器和(可能是最重要的)我老师的机器上运行......

感谢您的时间 :)

于 2012-11-14T17:05:21.267 回答
0

您可以尝试使用-M(或 -MM)命令行选项,该选项应该为您提供特定源文件所依赖的所有文件。

于 2012-11-14T17:33:56.280 回答