繁体   English   中英

交叉编译Pion网络库时出错

[英]Error cross compiling Pion Network Library

我正在尝试使用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)进行了尝试,结果也差不多,那么可以使用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格式。

以上方法均无效。.我用尽了所有的想法,想知道是否有人成功解决过这样的问题。

您的autogen.sh调用未正确生成configure ,因为未找到AX_COMPILER_VENDORAX_BOOST_BASE

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

正确的解决方案是在Autoconf归档文件中找到宏( AX_前缀是赠品),并使用这些宏在Git存储库中创建m4/目录(并可能从autogen.sh删除虚拟目录的创建)。

您还可以参考我在Autotools Mythbuster中写的有关宏文件的内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM