Затмение, "не удается создать ссылку на [dir]"?Сгенерировано cmake - PullRequest
0 голосов
/ 09 августа 2011

Я получаю странную ошибку в Eclipse при импорте проекта, созданного cmake 2.8.5 («Eclipse - Unix Makefile», также с «Eclipse - MingW Makefile»):

Ошибка обработки измененных ссылок в файле описания проекта. Невозможно создать ссылку на '[project_dir]', поскольку она перекрывает местоположение проекта, содержащего связанный ресурс.

с [project_dir] путем к корневой папке моего проекта. Я на Windows 7, Java 7, Eclipse 3.7, все 64-разрядные.

Что именно означает это сообщение? И как мне это исправить? Похоже, единственное, что вызывает, - это то, что Eclipse не может разрешить какой-либо путь включения (досадно иметь «ошибки», которые не являются ошибками в окне кода), однако компиляция с MingW работает прекрасно…

Это также приводит к появлению странной пустой папки "[Subolders]" в представлении папок Eclipse ... (Понятия не имею, для чего это)

Я уже несколько раз настраивал этот проект, но никогда не получал этого сообщения ...

Есть идеи? Спасибо.

Ответы [ 3 ]

0 голосов
/ 19 июля 2012

Сборки вне исходного кода обычно работают нормально с CMake и Eclipse, начиная с ~ CMake 2.8 или около того. Но я только что увидел точное сообщение об ошибке, которое вы упоминаете в случае, когда мой файл верхнего уровня CMakeLists.txt содержит это:

set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})

Если я удалю эту строку, ошибка исчезнет. (Это похоже на ошибку, но я не удосужился сообщить об этом или подтвердить, ожидаемое ли это поведение ...)

0 голосов
/ 27 февраля 2015

Решено; Я следовал решению Сакра , но этого оказалось недостаточно.Я добавил в свой 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 (кнопка кирки), который не работает, потому что нет Конфигурации сборки ,но только цели, как показано на следующем скриншоте.

Make targets for my project.

0 голосов
/ 09 августа 2011

Я видел, как Eclipse выдает это сообщение, если сгенерированный проект Eclipse находится в вне источника папке сборки CMake, которая находится внутри папки проекта, то есть:

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

В качестве обходного пути создайте исходную сборку CMake или создайте папку сборки рядом с папкой проекта, например:

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