Re: [问题] Perl & C library package

楼主: Neisseria (Neisseria)   2016-12-16 10:33:28
※ 引述《gecer (gecer)》之铭言:
: 小弟安装Perl Parse::STDF module 会出现下列错误讯息
: Checking for libstdf ...
: ERROR: I don't see libstdf installed.
: Please ensure libstdf is installed and libstdf-config is in your search path.
: Get libstdf from http://freestdf.sourceforge.net/
: 查询libstdf是 c library
: http://freestdf.sourceforge.net/doxygen/
: 请问要如何安装这个libray 以供Perl使用(电脑是windows)
刚看了一下,这个函式库没有提供在 Windows 下编译的方法
虽然 INSTALL 内有提到 win32 的处理方法,但实际没有相关档案
稍微浏览一下原始码
似乎没有依赖外部函式库,自己手动编译可能有机会成功
要不然就是要尝试在 MSYS2 环境下编译
这个不太好搞,去 C/C++ 版问问看,或许有高手可以帮忙
要不然,可以考虑 stdf4j 这个 Java 专案
没有用到 C,比较没有平台上的问题
参考看看
[Update]
想不到这篇会变 m 文,小弟在这篇其实也没讲什么
感谢版主赏光 冏rz
有版友写信来问我这篇文章相关的问题
小弟在这里野人献曝一下,如果有错请不吝指正
大部分的 Unix-like 系统,大抵上遵守 POSIX 来设计
而 Windows 系统则没有按照 POSIX 规范设计
许多在 POSIX 系统上开发的 C 专案
拿到 Windows 下会出现以下问题:
1. POSIX toolchain
2. POSIX library
像是以下标准的 make 三部曲
$ ./configure
$ make
$ make install
背后就是用到 POSIX toolchain,简化了编译软件的步骤
另外谈到 library 的部分
只用 standard library,能做的事有限
而 POSIX library 定义了在 POSIX 系统上共通的接口
使得同一份 C 专案在不同系统间可重复使用
而 Windows 刚好也缺乏这一块
所以有 MinGW/MSYS2 这种专案
试图解决这个问题
不过,使用者仍然需要了解编译软件的流程
对初学者来说 这个东西并不是很亲和 Orz
大部分的高阶语言,已经把这些东西藏起来了
如果没有非 C/C++ 不可,找其他的高阶语言来用比较简单
像是 Java 的运行速度还不错,如以下 benchmark:
https://benchmarksgame.alioth.debian.org/u64q/java.html
虽然 Java 平台肥了点,Java 写起来也有点囉唆
Java 的普及性还不错,相关的资源也不少
回到原本的问题
如果只是要将 STDF 档案转成文字档
弄一台虚拟机,灌个 Linux,函式库装一装
然后把档案内容倒出来,剩下的就很容易了
比起花时间在 Windows 上搞 C 相关问题
这样子做反而比较简单
[Update on 2017/02/25]
今天在试 Windows 10 的 Bash on Windows (beta)
虽然在里面编译出来的软件不是原生的机械码
只能在该子系统内使用
对于仅内部使用的程式来说 这样也足够了
如果有人需要在 Win 上装一些 Linux 上的程式
倒是可以试一试 不保证 100% 成功
就当成另一个 Cygwin 系统就可以了
作者: herculus6502 (金麟岂是池中物)   2016-12-18 10:34:00
推vm
作者: kanx (joke 版 赞!!!!!!!!!!!!!)   2015-01-03 09:57:00
建议也可以在cygwin中的perl 尝试一下

Links booklink

Contact Us: admin [ a t ] ucptt.com