【问题标题】:linking with a pragma with g++使用 g++ 与编译指示链接
【发布时间】:2011-04-27 19:22:45
【问题描述】:

在 Visual C++ 中,可以通过 #pragma comment (lib, "libname.lib") 链接到代码本身中的库。在 g++ 中是否有类似的可能?

【问题讨论】:

  • 请问您为什么要这样做?
  • @Robert: 链接基于#if defined(...);无需编辑 Makefile 等即可更轻松地包含代码。
  • @Zan Lynx:确实如此,但前提是您使用的是烦人的构建系统。我会推荐使用 CMake,因为你只需要在 CMakeLists.txt 文件中添加一行,也许是两行来做同样的事情。这就是我所做的。您有任何构建工具限制吗?
  • Boost 使用它在 Windows 上进行自动链接,最初非常好(即使在使用 CMake 时),但对于安装和部署来说变得相当麻烦。

标签: c++ linker g++ pragma


【解决方案1】:

Boost Config 库支持自动链接,使用特定编译器的相关编译器特定代码。但是,文档指出 GCC 工具链 doesn't support autolinking:

自动链接

大多数 Windows 编译器和链接器 有所谓的“自动链接支持”, 这消除了第二个挑战。 Boost 头文件中的特殊代码 检测您的编译器选项并使用 用于编码名称的信息 将正确的库放入您的对象 文件;链接器选择库 使用目录中的该名称 你已经告诉它搜索了。

GCC 工具链(Cygwin 和 MinGW) 是明显的例外;海合会用户 应该参考链接 Unix 变体操作系统的说明 适当的命令行选项 使用。

【讨论】:

    猜你喜欢
    • 2021-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多