0

对于熟悉 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. 但是,没有指定库,只是一个“?” 在它的位置。

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

干杯...

4

2 回答 2

0

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

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

于 2013-06-11T21:21:21.143 回答
0

哈,当我尝试使用我的 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

于 2014-08-26T13:05:42.400 回答