【问题标题】:Cannot open shared GCC library无法打开共享 GCC 库
【发布时间】:2013-05-08 12:20:32
【问题描述】:

对于熟悉 GCC 的人来说,这个问题应该很简单。我希望很快。

/usr/lib/gcc/i686-pc-cygwin/4.5.3/cc1plus.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory

我从 Sublime Text 2 启动这个 GCC doohickey,直接调用 g++-4.exe 而不是 g++.exe(它未被识别为程序)。 显然,推荐的修复方法是使用export LD_LIBRARY_PATH=somefolder 将包含缺少的任何库的文件夹添加到 LD_LIBRARY_PATH 变量中。但是,没有指定库,只是一个“?”取而代之。

我正在按照说明安装 clang,并且我使用的是 64 位 Windows 7 Pro。正在编译的代码是单个 C++ 文件。

干杯...

【问题讨论】:

  • 如何调用编译器?在 cygwin 终端或窗体 Windows 命令提示符中输入?
  • 我将它作为来自 Sublime Text 2 的构建命令运行,所以我猜它比前者更接近后者。格式本质上是:“C:/Users/username.DOMAIN/Desktop/clangy/cygwin/bin/g++-4.exe”“Y:\Projects\GitHub\Lacewing-Relay\example-relay-client.cc”- o "Y:\Projects\GitHub\Lacewing-Relay\example-relay-client"
  • 如果直接运行g++,那么必须在cygwin里面运行。如果您从 DOS/Windows 调用它,它将无法工作,因为在默认安装中,它是一个在 Windows 下失败的链接。您是否尝试过手动编译,也许这会提供更多信息?
  • 它提供了一组完全不同的信息,关于丢失的头文件。我假设我应该以某种方式通过 cygwin 控制台调用 g++?
  • 要么,要么你必须看看为什么你的框架有不同的路径。我不知道这些工具,所以我不能说。

标签: c++ gcc g++ shared-libraries sublimetext2


【解决方案1】:

Cygwin 应用程序构建在一个 shell 中,它将 Windows 文件系统呈现为一个虚拟的 Unix 风格的文件系统。在 Windows 中,“C:\”驱动器映射到 cygwin 中的 /cygdrive/c。我不知道有任何方法可以在 Windows 命令外壳或任何 Windows 应用程序中模拟此映射。

gcc 和 g++ 中嵌入的所有路径都引用了虚拟文件系统中的路径。对于没有外部依赖的简单应用程序,这不是问题。但对于 g++ 和其他人,它们必须从 Cygwin shell 运行。可能可以从 Windows 命令运行 'bash -c g++ ...',但我无法访问设置来尝试它。

【讨论】:

    【解决方案2】:

    哈,当我尝试使用我的 cygwin 的 g++ 作为 sublime 中的编译器时,我遇到了同样的问题。最终我找到了这个简单的解决方案:将以下行插入 C++.sublime-build. "path": "D:/Tools/Cygwin/bin/",

    这个版本之后,我的 C++.sublime-build 有以下内容:

    {
        "cmd": ["g++","${file}", "-o", "${file_path}/${file_base_name}"],
        "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
        "working_dir": "${file_path}",
        "selector": "source.c, source.c++, source.cpp",
        "path": "D:/Tools/Cygwin/bin/",
    
        "variants":
        [
            {
                "name": "Run",
                "cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
            }
        ]
    }
    

    至少这对我有用!


    如何找到 C++.sublime-build?
    首选项 > 浏览包 > C++ > C++.sublime-build

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      • 2020-03-12
      • 2022-06-25
      • 2014-11-01
      • 2011-08-19
      • 1970-01-01
      相关资源
      最近更新 更多