0

我正在尝试使用 mingw64 交叉编译 Windows 的 Pion 网络库。这些是我从中获取它们的链接(pion 的 5.0.4 版) https://github.com/splunk/pion https:// sourceforge.net/projects/mingw-w64/files/

我有 boost 1.60.0 和 MSYS

**mingw-w64.sourceforge.net --> files --> External binary packages --> MSYS**

如果您想知道为什么我使用 5.0.4 而不是最新的,因为我也尝试过使用最新的 Pion 库(5.0.7),结果相似,Pion 网络库可以使用 GNU Autotools 或 Cmake(在 5.0.7 中)。

这些是我正在尝试的步骤:

  • 打开 MSYS:我已经在 /home 下复制了解压缩的 Pion 包
  • 运行 ./autogen.sh
  • 运行 ./configure --host=x86_64-w64-mingw32 --build=x86_64-pc-windows

这是我输出中的最后几行:

检查与 BSD 兼容的安装... /bin/install -c

./configure:第 20372 行:AX_COMPILER_VENDOR:找不到命令

检查特定的 CPU 架构...否

检查调试...否

检查插件目录... /usr/local/share/pion/plugins

./configure:第 20659 行:意外标记“1.35”附近的语法错误

./configure:第 20659 行:AX_BOOST_BASE(1.35)

在此之后它当然会崩溃并且没有完成配置......

我尝试删除带有 AX_BOOST_BASE 的行,包括里面的括号([1.35]),尝试删除版本和括号,在 MSYS 中设置 BOOST_ROOT 路径,包括 --with-boost=/path/to/boost,确保 boost 的目录具有正确的 boost_1_60_0 格式。

以上都不起作用..我的想法不多了,想知道是否有人以前成功解决过这样的问题。

4

1 回答 1

0

您的autogen.sh呼叫没有configure正确生成,因为既没有AX_COMPILER_VENDOR也没有AX_BOOST_BASE找到。

据我从 Git 存储库中看到的,开发人员没有正确地将m4/包含这两个(和其他外部宏)的目录添加到他们的存储库中,因此它只能在他们的系统上运行,因为他们已经在某处拥有这些宏的副本。

正确的解决方案是在Autoconf 存档中找到宏(AX_前缀是那里的赠品),并m4/在 Git 存储库中使用这些宏创建一个目录(并可能从autogen.sh.

你也可以参考我在 Autotools Mythbuster 中写的关于宏文件的内容。

于 2016-03-29T08:38:45.107 回答