我在写一个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