我在寫一個C++應用程序,它必須讀取一個二進制.MAT文件。所以我需要使用libmat和libmex來做到這一點(注意我沒有使用MEX文件)。我也試圖使用boost::program_options
來處理解析命令行參數,因爲這是一個非GUI應用程序。我使用CMake來處理我的構建環境。Boost鏈接問題 - 多個版本
我們正在使用的boost版本是1.59。但是,當我嘗試鏈接到program_options時,CMake正在使用MATLAB庫找到boost::program_options
庫,並且MATLAB庫需要boost 1.49。然後,當我嘗試運行編譯的應用程序時,由於使用了1.59的頭文件而導致崩潰,而MATLAB的副本文件爲1.49。有沒有人有任何想法,我可以如何使用這兩個版本的boost,因爲MATLAB不能使用1.59,而MATLAB不包括1.49的include文件。
看起來好像我們在名稱中使用它的版本號來構建'boost',這可能會起作用,但不幸的是,program_options和libmat必須調用相同的例程,並且它們相互衝突。如果他們沒有調用相同的例程,那麼看起來我可以混合boost版本並使其工作。我最終使用了Lean Mean C++ Option Parser。 – Todd