我是C++的新手,現在我正在努力編譯和鏈接。 最近我一直在使用cmake,並重新編譯一個庫(mlpack),使用Boost(Cmake does not find boost 1.51 (windows 8))。C++ windows二進制文件:與MinGW一起使用的條件
在第一次嘗試中,我下載了Windows預編譯的二進制文件。這沒有奏效,我已經解釋了我使用的二進制文件是MSVC,而不是MinGW,因此麻煩。事實上,在使用MinGW重新編譯boost之後,事情就好了。
在這裏,我只想得到一個直覺是什麼將MSVC和MinGW的二進制文件之間的差異。我(天真?)認爲二進制文件是特定於OS /處理器的。 MSVC的二進制文件包含什麼使MinGW無法使用它們?
我仍然感到困惑。這是否意味着一旦你爲你的系統進行了編譯,你的庫仍然不能被系統中的所有程序使用?這是否意味着您需要編譯每個現有的編譯器?除了爲特定編譯器編譯的二進制文件之外,你永遠不能下載任何二進制文件?對於語言的比喻,MSVC的圖書館是法語的,MinGW也講法語,窗口講法語,不是? – Vince
@Vince我試圖多解釋一下。不過,我認爲Haroogan爲解決問題的原因提供了一些很好的鏈接。你應該檢查出來。 – stardust
謝謝!只是爲了澄清:現在我下載了iconv二進制文件,並且我有一個包含iconv.lib的文件夾庫......當使用mingw編譯其他庫時,假設鏈接到這個庫是不合理的?如何知道這些庫是否正常? – Vince