我有一個應用程序需要使用某個封閉源代碼的C++ API。這個API分發了一些Boost,二進制庫文件和全部。我喜歡在自己的代碼中使用Boost。我不能只使用他們的Boost版本,因爲他們沒有分發我需要的Boost的所有部分。我應該如何繼續?目標平臺是Linux,最終是Windows。boost通過封閉源代碼庫發佈
- 我不會通過API邊界傳遞Boost對象。
- 使我代碼使用我 boost頭文件,以及API的代碼使用其 Boost頭文件我可以編譯事情的目標文件。這部分看起來很直接。
- 我不得到:如何鏈接我代碼我 Boost庫文件和API的代碼來其 Boost庫文件。我是否需要編譯我自己的API封裝器 - 一個封裝器,它的頭文件是而不是包括Boost - 到一個動態庫? (這是我可以考慮做鏈接的唯一方法,API的Boost庫文件中的符號應該與我的Boost庫文件中的符號相同,我在有做兩個階段的鏈接,沒有?只是沒了其餘的我可以鏈接一件程序的方式是通過使動態庫,不是嗎?)
我還必須使用第三方的閉源庫。他們將自己的(非常舊的)Boost版本與庫分發。幸運的是,他們重命名了他們的Boost庫,比如`BoostSystem_x86-64_redhat_gcc41_mdi`而不是`boost_system`。不知何故,我的代碼實際上構建。 – chrisaycock 2011-01-28 04:45:36
請參閱http://stackoverflow.com/questions/2907882/using-concurrently-2-versions-of-boost – KitsuneYMG 2011-01-28 05:22:13