Как использовать NIX с Eclipse

Я пытаюсь использовать менеджер пакетов шухер для моего проекта C ++.

default.nix:

{ pkgs ? import <nixpkgs> {} }:
let
stdenv = pkgs.stdenv;
in rec {
myProject = stdenv.mkDerivation {
name = "lynx";
version = "dev-0.4.0";
buildInputs = [
pkgs.cmake
pkgs.gtest
];
};
}

Я построил проект в его каталоге с помощью CMake без проблем. Затем я экспортировал проект как проект Eclipse (я сделал это под Никс-оболочка):

cd ..
mkdir lynx_eclipse
cd lynx_eclipse
cmake -G"Eclipse CDT4 - Unix Makefiles" -D PLATFORM:STRING="posix"  -DCMAKE_BUILD_TYPE=Debug ../lynx/

Открыв экспортированный проект в Eclipse, я обнаружил, что пути для включения подходят и указывают на / nix / store / * Но когда я пытаюсь построить проект, у меня появляется ошибка:

gtest / gtest.h: нет такого файла или каталога

Я вижу, что Eclipse не добавляет пути nix к флагам компилятора:

 /nix/store/ix03iknfgyrx7421fppjdczd9r4sw7pz-gcc-wrapper-5.3.0/bin/g++    -I/home/ubuntu-pc/dcs/lynx/inc -I/home/ubuntu-pc/dcs/lynx_eclipse/inc -I/home/ubuntu-pc/dcs/lynx/test/./inc  -std=c++11 -static-libstdc++ -g   -o CMakeFiles/test_utils.dir/utils_test.cpp.o -c /home/ubuntu-pc/dcs/lynx/test/utils_test.cpp

Это может быть причиной проблемы, но я не знаю, как изменить поведение Eclipse.

1

Решение

Судя по количеству просмотров, проблема очень специфическая. Однако я как-то нашел решение.

После экспорта в проект Eclipse я создал файл builder.sh:

export NIX_PATH=nixpkgs=/home/xxxx/.nix-defexpr/channels/nixpkgs
/home/xxxx/.nix-profile/bin/nix-shell default.nix --run "make $1"

Затем я установил файл как команду сборки в C \ C ++ General -> C \ C ++ Make Project

bash ${project_loc}/build.sh

Это все.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]