【问题标题】:Eclipse, "cannot create a link to [dir]"? Generated by cmakeEclipse,“无法创建到 [dir] 的链接”?由 cmake 生成
【发布时间】:2011-08-09 17:53:57
【问题描述】:

在导入由 cmake 2.8.5 生成的项目时,我在 Eclipse 中遇到了一个奇怪的错误(“Eclipse - Unix Makefile”,也带有“Eclipse - MingW Makefile”):

处理项目描述文件中更改的链接时出错。 无法创建指向“[project_dir]”的链接,因为它与包含链接资源的项目的位置重叠。

与 [project_dir] 我的项目的根文件夹的路径。我使用的是 Windows 7、Java 7、Eclipse 3.7,都是 64 位。

这条消息到底是什么意思?我该如何解决?它似乎导致的唯一一件事是 Eclipse 无法解析某些包含路径(在代码窗口中出现没有错误的“错误”是很糟糕的),但是使用 MingW 编译工作得非常好......

这似乎也在 Eclipse 文件夹视图中产生了一个奇怪的空“[Subolders]”文件夹......(不知道这是为了什么)

我确实已经设置了好几次这个项目,但从未收到此消息...

有什么想法吗?谢谢。

【问题讨论】:

    标签: eclipse hyperlink cmake mingw


    【解决方案1】:

    如果生成的 Eclipse 项目位于项目文件夹内的 out-of-source CMake 构建文件夹中,我已经看到 Eclipse 生成该消息,即:

    cd project_dir
    mkdir build
    cd build
    cmake -G "Eclipse - Unix Makefile" ..
    

    作为一种解决方法,生成源内 CMake 构建或生成项目文件夹旁边的构建文件夹,即:

    mkdir build
    cd build
    cmake -G "Eclipse - Unix Makefile" ../project_dir
    

    【讨论】:

    • 错误移至Error processing changed links in project description file. Cannot create linked resource '/project_dir/[Targets]/[lib] foo/project_dir'. Files cannot be linked to folders.
    【解决方案2】:

    从 ~CMake 2.8 开始,外源构建通常可以在 CMake 和 Eclipse 中正常工作。但我刚刚看到您在我的顶级CMakeLists.txt 文件包含以下内容的情况下提到的确切错误消息:

    set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
    

    如果我删除该行,错误就会消失。 (这感觉像是一个错误,但我还没来得及报告它,或者确认它是否是预期的行为......)

    【讨论】:

      【解决方案3】:

      已解决;我遵循了sakra 的解决方案,但还不够。我在CMakeLists.txt 中添加了以下几行

      set(PROJECT_SOURCE_DIR <somewhere>/workspace/project)
      set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR})
      set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR})
      

      并调用,外部 project 目录,CMake:

      cmake -G"Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug <path_to_project>
      

      然后如前所述导入。请注意,仍然会发出错误信号,但一切正常,除了 Build 工具(镐按钮)由于没有 Build Configurations 而不起作用em>,但只是目标,如以下屏幕截图所示。

      【讨论】:

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