我使用供應商提供的庫C++ program
。所有供應商的供應是.lib, .dll and the header files.
供應商如何提供C++庫支持多個編譯器?
該庫最早是在MSVC++ 6
使用,現在MSVC 2010.
看樣子他們支持的MinGW,QT等我曾與在調試或發佈模式下使用它沒有問題。
我最近添加了另一個依賴項目yaml-cpp
,這是一個沒有提供二進制文件的開源項目。我可以使用cmake和MSVC 2010作爲靜態庫來構建yaml-cpp,並且可以成功將它鏈接到我的項目。
爲了做到這一點我必須鏈接到調試和發佈版本.lib
分別爲我已經運行到怪異微軟CRT /連接器的問題,我只是學習的。
我很好奇,請問我的第一個庫(libXl如果你是好奇)的供應商提供.lib and .dll
上一系列的編譯器的工作,而不必擔心CRT版本?
你如何編寫允許這樣做的代碼還是鏈接過程? yaml-cpp
是一個跨平臺庫,我能否以類似的方式編譯它,使我可以在我的項目中使用一個.lib文件?
我不確定尋找哪些資源來了解更多信息。人們如何學習這種東西?謝謝!
據我所知,創建一個新的lib項目,所有的設置應該沒問題。有幾個開關可以像/ MT一樣更改,但除此之外都是標準的。如果你使用yaml和他們提供的項目,那麼他們可能會有一些遺留的編譯器開關,你應該嘗試爲該lib創建一個新項目。 – Raxvan
如果該庫適用於MSVC++ 6和MSVC 2010,那麼很可能不是C++庫,而是一個C庫。 C++運行時庫對於每個MS版本都非常具體,並且據我所知不能混雜在一起。 –