cmake, linux: каталог сборки, обозначенный символом c ссылка не работает: почему? - PullRequest
0 голосов
/ 16 февраля 2020

У меня есть настройка с каталогом сборки, установленным на ./bin внутри источника root. Все работает, пока я не поменяю ./bin на символическую c ссылку. Затем все настраивается правильно, но make начинает жаловаться на не найденные исходные файлы:

make[2]: *** No rule to make target '../cpp/foo.cpp', needed by 'CMakeFiles/mylib.dir/cpp/foo.cpp.o'.

Почему это происходит и что я могу с этим сделать? У меня была идея преобразовать этот путь в абсолютный (внутри make-файла) и вывести его на консоль, чтобы выяснить, куда он указывает, но оказалось, что этот "build.cmake" воссоздается автоматически при каждом вызове make: (

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Мне нужно было сделать то же самое для Ma c (чтобы исключить каталог сборки из iCloud Drive), и мне удалось выполнить команду cmake из каталога сборки (не переходя туда по ссылке) и указать абсолютный путь для источника в cmake.

См. также: { ссылка }

0 голосов
/ 16 февраля 2020

Благодаря Цывареву Я понял, что это неустранимое ограничение ОС с возможным обходом, используя mount bind

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...