m0_72768872 2024-03-27 20:33 采纳率: 50%
浏览 7

g++自动链接非标准库的lib文件

windows下mingw,运行g++ *.cpp会自动链接julia/bin目录下的libstdg++-6.dll动态库文件,去除julia的系统环境变量也不能取消自动链接,除非删除该文件,该如何处理

  • 写回答

4条回答 默认 最新

  • 专家-皆知 2024-03-27 20:33
    关注

    引自免费微信小程序:皆我百晓生

    这个问题是由 MinGW 提供的 GCC 编译器在 Windows 下自动链接非标准库时,链接到 Julia 的动态库文件,而 Julia 并没有在 MinGW 中提供相应的静态库文件。因此,当您在 MinGW 中运行 g++ 编译器时,它会尝试链接 Julia 的动态库文件,这会导致链接错误。

    要解决这个问题,您可以尝试以下方法:

    1. 手动添加 Julia 的静态库文件到 MinGW 的 include 目录中。您可以在 Julia 的安装目录下找到 static 文件夹,将该文件夹下的所有文件复制到 MinGW 的 include 目录中。
    2. 修改 MinGW 的 g++ 编译器以排除 Julia 的动态库文件。您可以在 MinGW 的安装目录下找到 g++.exe 文件,用文本编辑器打开它,然后添加以下代码:
    #include <julia.h>
    

    这会排除 Julia 的动态库文件,让您在 MinGW 中编译和运行 g++ 程序时不会链接到 Julia 的库文件。 3. 如果您不想修改 MinGW 的 g++ 编译器,您可以尝试使用 clang 编译器。clang 编译器可以自动链接到 Julia 的静态库文件,而不需要您手动添加或修改编译器设置。您可以在 Julia 的安装目录下找到 clang.exe 文件,用文本编辑器打开它,然后添加以下代码:

    clang -std=c++11 -Ijulia -Ljulia -ljulia -ljulia_core -ljulia_bind -ljulia_dylib -o output_file input_file.cpp
    

    这个命令行命令会使用 clang 编译器,链接到 Julia 的静态库文件,并生成名为 output_file 的可执行文件。

    希望这些方法可以帮助您解决问题。如果您需要更多的帮助,请告诉我。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月27日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表