c# - 在缺少 setup.py 的 Windows 上构建 Apache QPID

标签 c# python windows apache qpid

我是 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 进行交互式配置。这就是它要求所有变量值的原因。没有 -icmake 使用默认值。有可能对您的系统应为“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/

相关文章:

python - Azure 上使用 SQLAlchemy 的 MSSQL "connection reset by peer"

c - 无法将库链接到目标?

c++ - 杀死正在运行的线程

c# - 如何自动设置 DateCreated 和 DateUpdated

c# - 文件中数据段的重新排序

python - 仅调试一个函数(或模块),在 Pycharm 中运行其余程序?

python - 使用 Django 在 AWS 上使用 EC2 对 Websockets 进行故障排除

r - 以编程方式加载文件

c# - 如何在C#中使用公钥和私钥加密技术

c# - Visual Studio 2012 的增强型滚动条?