我是 Apache Qpid、Cmake 和 Python 的新手。我已经在 Debian 上成功构建了 Qpid 并运行了一些测试。我现在正尝试在 Windows 上构建 Qpid,以便我可以编写 C# 客户端,但似乎有些不对劲。当我运行 cmake 命令时,它最终给我以下输出:
Please wait while cmake processes CMakeLists.txt files....
C:/Program Files (x86)/Python330/python.exe: can't open file 'setup.py': [Errno 2] No such file or directory
Variable Name: BUILD_ACL
Description: Build ACL enforcement broker plugin
Current Value: ON
New Value (Enter to keep current value):
我试图了解应该何时生成/下载 setup.py。我找不到它,也找不到任何描述它应该何时生成或安装的文档。另外,有点跑题了,为什么 cmake 进程开始提示我输入 BUILD_ACL 和其他配置?
我已经使用以下命令为 VS 2008 和 2010 运行了 cmake,并且都产生了相同的输出:
cmake -i -G "Visual Studio 9 2008" .
cmake -i -G "Visual Studio 2010" .
我正在使用 Apache 中的以下文件来构建 Qpid: qpid-cpp-0.18.tar.gz
从上面的日志语句可以看出,我使用的是 Python 3.3.0。
我了解到setup.py是Python用来安装组件的文件。看起来 cmake 脚本正试图根据我通过搜索 setup.py 找到的 cmake 脚本的一部分在测试目录中安装一些东西。我认为这可能会在 Qpid tarball 中提供或以某种方式作为此 cmake 过程的一部分生成。
综上所述,我最终按住回车键接受了 cmake 的所有默认设置,并生成了解决方案文件和项目文件。我能够在 VS2008 中打开生成的 Qpid 解决方案并构建一些项目。那么,这就提出了一个问题,为什么需要 setup.py?
最佳答案
当在 users@qpid.apache.org 询问 Qpid 用户问题时,会得到很好的回应 qpid 开发人员对邮件列表 react 迅速。
cmake -i
进行交互式配置。这就是它要求所有变量值的原因。没有 -i
的 cmake
使用默认值。有可能对您的系统应为“n”的变量回答“y”,从而生成无法工作的构建环境。尝试不使用 -i
来开始。
在同一目录中使用两个不同的生成器运行 cmake 两次通常是一种不好的做法。在你的情况下,它将为 VS2008 生成一个 .sln 文件和 .vcproj 文件,并且它将生成一个 .sln 文件和 VS2010 的 .vcxproj 文件。如果您进行源代码构建,文件可能看起来相同,但实际上并非如此。在您运行两个 cmake
命令后,文件将继续看起来相同。
再次解压源压缩包并尝试使用源外构建的cmake
。
mkdir b32-vs2010
cd b32-vs2010
cmake -G "Visual Studio 2010" ..\qpidc-0.18
目录 b32-vs2010 将包含您的 2010 解决方案和项目文件,以及所有生成的源文件。它使源目录保持干净并且没有生成的文件。
这应该在没有提示 setup.py
的情况下运行。如果您仍然遇到问题,请利用用户邮件列表。
关于c# - 在缺少 setup.py 的 Windows 上构建 Apache QPID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13198846/