2016-04-29 9 views
0

Ich versuche mit Paketmanager Nix für mein C++ Projekt.Wie nix mit Eclipse zu verwenden

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 
    ]; 
    }; 
} 

baute ich das Projekt in seinem Verzeichnis mit Cmake ohne Probleme. Dann exportierte ich das Projekt als Eclipse-Projekt (ich habe es unter nix Schale):

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

Nachdem das exportierte Projekt in Eclipse geöffnet Ich fand, dass Pfade enthalten sind fein und Punkt/nichts/store/*. Aber wenn ich versuche, das Projekt zu erstellen habe ich einen Fehler:

gtest/gtest.h: No such file or directory

Ich sehe, dass Eclipse-fügt keine nix'es Pfade zu dem Compiler-Flags:

/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 

Das Grund der sein könnte, Problem, aber ich weiß nicht, wie ich das Verhalten von Eclipse ändern kann.

Antwort

0

Gemessen an der Anzahl der Ansichten ist das Problem sehr spezifisch. Allerdings habe ich die Lösung irgendwie gefunden.

Nach dem Export-Projekt Eclipse I builder.sh Datei gemacht:

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

Dann habe ich die Datei als Build-Befehl in C \ C++ Allgemein -> C \ C++ Projekt aktualisieren

bash ${project_loc}/build.sh 

Das ist alles.

+0

(Beachten Sie, dass Sie in StackOverflow Ihre eigenen Antworten gerne "akzeptieren", um die Frage als "beantwortet" zu markieren) – akavel