LINUX.ORG.RU

Как собрать проект в Windows, но с Linux окружением

 , ,


0

2

Есть CLion, хочу собрать проект

В проекте есть CMakeLists.txt для CLion, но в этом файле содержатся команды специфичные для linux, например

execute_process(
        COMMAND bash -c "cd ${PROJECT_SOURCE_DIR}/../../ && pwd"
        OUTPUT_VARIABLE DIR
)


как быть?

★★★★

Последнее исправление: gobot (всего исправлений: 1)
Ответ на: комментарий от Aceler

Можно подробнее с самого начала? Я когда создавал проект, то склонировал его с репозитария github. Что мне нужно делать изначально, в самом WSL сделать git clone?

gobot ★★★★
() автор топика
Ответ на: комментарий от gobot

В WSL, если я правильно помню, есть возможность забрать файлы с хоста, но я давно его видел. Поэтому можно и так — открываешь терминал с линуксом, делаешь каталог, делаешь git clone ещё раз, дальше работаешь как в обычном линуксе.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

Это я сделал. Открыл папку, которая в WSL лежит в CLion, потом запустил CMakeLists.txt, теперь bash\окружение видит, но теперь другие ошибки валятся с компиляторами... Ладно, если я буду собирать\компилировать проект в WSL, я его там уже собрал. Как мне заставить CLio хотя бы исходники проиндексировать? Ну и дебаг подключить к процессу запущенному в WSL...

gobot ★★★★
() автор топика
Ответ на: комментарий от gobot

WSL создаёт в винде сетевой диск, в котором у тебя корень твоей виртуалки будет. Вот там в хомяке как обычно и работаешь, а потом просто идёшь в терминал в WSL и запускаешь команду.

Zhbert ★★★★★
()
Последнее исправление: Zhbert (всего исправлений: 1)
Ответ на: комментарий от Zhbert

Да это понятно, я хочу код синхронизировать с IDE. Чтобы по ссылкам ходил, инклуды там всякие. Сейчас ничего не видит. Добавляю конфигурацию CMake Application, там Target. Создал Custom build Target (Toolchain WSL), подсунул его туда и... ничего. куда нужно все запихать то, чтобы исходники пропарсились?

gobot ★★★★
() автор топика
Ответ на: комментарий от gobot

Можно и так.Как мне заставить CLio хотя бы исходники проиндексировать?

Ну тогда тебе надо настраивать интероперабельность между WSL и хостом. CLion ssh умеет, например? Или что он вообще умеет?

Aceler ★★★★★
()
Ответ на: комментарий от Zhbert

Пишет

clion the file does not belong to any project target


И ничего не индексируется, ссылки не работают и т.д.

ИИ в гугле говорит

The message "This file does not belong to any project target" in CLion indicates that the currently open file is not recognized as part of any of the build targets defined in your project's CMakeLists.txt files. This can lead to issues with code insight features like syntax highlighting, autocompletion, and navigation.

Possible causes and solutions:
File not added to CMakeLists.txt:
Ensure the file is explicitly listed in a CMakeLists.txt file using commands like add_executable, add_library, or target_sources.


CMakeLists.txt то у меня есть, но он на винде не заводится. Вручную что ли что его делать или есть вариант какой-нибудь попроще?

gobot ★★★★
() автор топика

Мне кажется тебе надо сделать в wsl make clean чтобы небыло ошибок сборки. WSL это по суте как другой комп. Можно для IDE создать например dev ветку в git, которую wsl будет вытягивать и собирать проект автономно, по тригеру или по запросу, а после проверок просто синкать ветки.

fucpsy
()
Последнее исправление: fucpsy (всего исправлений: 3)
Ответ на: комментарий от gobot

Открываешь консоль wsl, переходишь в каталог с проектом (по умолчанию, там диск C в /mnt/c или как-то так), выполняешь команды типа cmake, make и т д.

Вообще, в винде нынче даже в контекстном меню папки в Проводнике есть пункт Open Linux shell here, если WSL стоит.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от dengolius

смотрю на это все. как-то вы все переусложняете.

доставляем в wsl недостающие пакеты для сборки, переходим в каталог проекта, собираем. всегда так делал, не понимаю к чему такие приседания

в /mnt обычно монтируются виндовые диски, заходим пользуем

на худой конец Hyper-V, были у меня копролиты, которые уже никогда не соберутся на современных дистрах, пришлось развернуть виртуалки с нужными версиями

Morin ★★★★★
()
Последнее исправление: Morin (всего исправлений: 2)