如何讓BCB6編譯專案為單一執行檔(使用OpenCV時找不到cvharrtraining.dll的解決)

BCB可以將所需的函式庫編譯入程式中,讓你在執行時不需要煩惱函式庫的問題,雖然這個問題可以用安裝工具解決,但是如果可以不用安裝直接執行,不是簡單多了嗎?

第一步是要取消動態執行時期函式庫的部份(Dynamic RTL),這個選項在
Project -> Options ->Linker
裡面:

1

再來是Packages的部份,把Build with runtime packages選項勾掉。

1

這是一般情形,現在我們來看看OpenCV的狀況,依一般BCB使用OpenCV的做法,我們會把轉換後的OpenCV Lib檔載入到專案中,也就是Project -> Add to project,但是呢!你會發現執行時出現錯誤,找不到cvhaartraining.dll檔,但你根本沒有這個檔案,其實他要的東西是cvhaartraining.lib,這是你自己載入的檔案之一。

依這篇(http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=93961)的建議,cvhaartraining.lib是不建議轉換的,但轉都轉了怎麼辦呢?不要載入專案中就好了啊。

所以找不到 cvhaartraining.dll 的解決方案就是,不要載入 cvhaartraining.lib 檔。

 

3 comments

  1. I don’t even know how I ended up here, but I thought this post was good. I do not know who you are but definitely you’re going to a famous blogger if you aren’t already 😉 Cheers!

Leave a Reply

你的電子郵件位址並不會被公開。 必要欄位標記為 *