CMake c++ 库链接

Posted

技术标签:

【中文标题】CMake c++ 库链接【英文标题】:CMake c++ library linking 【发布时间】:2011-05-07 19:01:29 【问题描述】:

我在 CMake 中有 Fortran 目标,它依赖于 C++ 库。将 STDC++ 包含到链接中的可移植方法是什么?

【问题讨论】:

【参考方案1】:

如果使用 gfortran 链接,请添加 -lstdc++,如果使用 g++ 链接,则需要 -lgfortran。无论哪种方式,您都需要它们,只是 g++ 自动与 libstdc++ 链接,而 gfortran 自动与 libgfortran 链接。

没有像交叉编译器或跨“标准库供应商”那样的“可移植”方式,因为所有库的命名都不同。

【讨论】:

【参考方案2】:

理论上,STL 是 C++ 的一部分,因此您无需在 CMake 中执行任何操作即可使用 STL。另一方面:如果你的 C++ 库有依赖并且它们有 CMake 模块(例如:FintQt4),CMake 会自动处理链接过程。

【讨论】:

链接器不是c++,而是fortran。

以上是关于CMake c++ 库链接的主要内容,如果未能解决你的问题,请参考以下文章

使用 CMake 链接到可可库(C++ 与 Objective-C 混合)

C++学习(四九五)一个最简单的cmake工程文件(动态链接库)

C++学习(四九五)一个最简单的cmake工程文件(动态链接库)

NDK 与 cmake 的链接库

CMake:将第三方库链接到项目库

通过 cmake 链接到静态库