【问题标题】:How to build ACE 6.0(network library) as static?如何将 ACE 6.0(网络库)构建为静态的?
【发布时间】:2025-12-04 10:10:01
【问题描述】:

ACE为Visual Studio提供了解决方案文件,有静态和动态喜欢的解决方案文件。(ACE.sln和ACE_static.sln)

在他们发布 6.0 之后,不再有 static.sln。
我无法理解。他们为什么要删除静态解决方案文件?有什么原因吗?
我自己为静态构建设置了预定义的值。这让我很烦。

还有其他方便的方法吗?

【问题讨论】:

  • 您不想使用 dll 的任何特殊原因?
  • @DumbCoder 我不想让最终用户知道我们使用 ace。是的,这没什么大不了的,大多数用户甚至都不关心这一点。但我更喜欢隐藏的方式。另一个原因。当我们通过自动更新程序将文件部署到客户端机器时,如果一个 dll 正在使用它,那么它就是烦人的自动更新程序。

标签: c++ visual-studio-2010 network-programming ace


【解决方案1】:

我刚刚在 comp.soft-sys.ace 新闻组上发布了同样的问题,我得到了一位 ACE 开发人员的帮助:

ACE 6.0 Static Builds

基本上有一个名为 MPC 的 Perl 工具与 ACE 一起分发,他们使用它来编译所有构建文件(我还没有让它工作,但那可能只是我做错了:)

无论如何,如果您在记事本中打开 .sln 文件,您实际上会在 cmets 的顶部附近看到用于构建它的 MPC 命令行。

【讨论】:

  • 原来我需要从包含 ACE.mwc 文件的目录中运行 mwc.pl 脚本!知道这很简单 :) 无论如何它现在工作正常......
【解决方案2】:

我刚刚尝试在 Win32 上编译 ACE 6.3.1。 http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html 给出的说明让我有点困惑,因为说明中没有 ace.sln 文件。要生成 sln 文件,请使用 windows cmd 执行以下步骤 -

  1. 将环境变量 ACE_ROOT 设置为 ACE-src-6.3.1\ACE_wrappers 的完整路径
  2. 转到目录 %ACE_ROOT%\ace
  3. 按我对 VS 2010 解决方案文件感兴趣的方式运行 cmd

perl %ACE_ROOT%\bin\mwc.pl -type vc10 ace.mwc

这已经在 ACE_ROOT/ace 目录中生成了解决方案文件,我能够使用 VS2010 express edition 编译解决方案。

【讨论】:

    最近更新 更多