使用 Scons 构建程序

使用 Scons 构建程序

我正在学习如何部署我的应用程序,最近使用了自动工具。./configure、make、make install

我想使用 scons,但是阅读文档后,他们详细介绍了这些内容,但我感觉它就像把我丢在了峡谷中间。

如果有人能就如何构建一个简单的项目提供一些建议。比 hello.c 示例更基本的东西。

假设我们正在构建 cURL:http://curl.haxx.se/download/curl-7.40.0.tar.lzma

通常使用自动工具,我会下载、解压文件,然后切换到目录 ./configure --prefix=$PREFIX make sudo make install

这将构建项目并将其放入 $PREFIX 位置

使用 scons 我应该设置一个 SConstruct 文件

例如: Program('LIBCURL000', Glob('src/*.c'))

运行 scons

Brother:curl-7.40.0 blubee$ scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o src/tool_binmode.o -c src/tool_binmode.c
In file included from src/tool_binmode.c:22:
src/tool_setup.h:36:10: fatal error: 'curl_setup.h' file not found
#include "curl_setup.h" /* from the lib directory */
         ^
1 error generated.
scons: *** [src/tool_binmode.o] Error 1
scons: building terminated because of errors.

我完全迷路了,需要一些帮助。我已阅读了此处的文档:http://www.scons.org/doc/production/HTML/scons-user.html但我仍然遇到麻烦。

答案1

看来 SCons 无法找到curl_setup.h您示例中的头文件。它位于 lib 目录中,因此请根据以下内容编辑 SConstruct 文件,使其更像以下内容:SCons FAQ 的这一部分

env = Environment(CPPPATH='lib')
env.Program('LIBCURL000', Glob('src/*.c'))

我确信还有更多步骤需要完成才能完成它,但这应该可以帮助您解决第一个问题。

剩下的SCons 常见问题解答是快速入门的绝佳资源。祝你好运!

相关内容