※ 引述《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 系統就可以了