在Windows上编译libyaml
所以,我正在开发一个运行
Linux的强大项目,我需要在Windows上创建端口.问题是,libyaml是我的依赖项的一部分,我需要为Windows编译它.
所以我运行了cygwin环境,运行了./configure和make,一切顺利:库已经构建,我得到了.a文件. 除了makefile从未结束,因为它无法构建示例:结果是库中缺少一些符号: undefined reference to `_imp__yaml_parser_initialize' undefined reference to `_imp__yaml_parser_set_input_file' undefined reference to `_imp__yaml_parser_scan' undefined reference to `_imp__yaml_token_delete' undefined reference to `_imp__yaml_parser_delete' 所以当然,想知道这怎么可能是真的,我继续搜索所说的符号,事实上,我发现它们是二进制的,尽管符号有点不同,你可以看到: $nm src/.libs/libyaml.a | grep parser_set_input_file 000005a8 T _yaml_parser_set_input_file 因此,这通常是在编译dinamicaly可加载库时如何呈现函数名称.让我感到困惑的是,为什么链接器找不到这些功能呢?这来自哪里? 我能做些什么才能使我的程序能够正确链接到libyaml?除了这些功能之外,其他所有功能都正常工作. 你会成为那个拯救我脱离这种恶魔般的连环东西的人吗? 编辑:我现在已经在这个问题上工作了几个小时. 是不是有一种简单的方法来解释链接器不搜索那些函数的错位名称? 编辑:我发现了这个: 解决方法
旧线程,但答案仍不清楚.以下适用于版本0.1.5:
./configure CFLAGS="-DYAML_DECLARE_STATIC" --enable-static --disable-shared (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-phone-7 – WP7政策检查
- winapi – 在Windows 7任务栏中显示完整的应用程序?
- 无法在Windows 10上使用python2.7/MINGW安装pyslalib软件包
- 网络打印机 – Windows – 从IP地址查找打印机名称
- windows-server-2003 – 如何在Windows Server 2003上更改I
- 批处理文件 – 当使用其他命令在块内时,exit / b无法正常工
- windows-server-2008 – 适用于大量打印机的Windows Server
- windows-server-2008 – 集中捕获Windows事件日志的最佳工具
- windows-server-2008-r2 – 如何将子网添加到Windows防火墙
- wcf – 我们可以将Workflow服务作为Windows服务托管吗?