2012-03-14 24 views
8

Podążam za tym thread i tym one, aby zbudować własne KDE bez pozwolenia sudo. Ponieważ na stacji roboczej nie zainstalowano Git i CMake. Po prostu miałem je zainstalowane zarówno pod /home/użytkownik <> i dodał /home/< użytkownika>/bin i /home/< użytkownika>/lib zarówno PATH i LD_LIBRARY_PATH. Ponieważ kompilacja KDE obsługuje tylko CMake, nie konfiguruj. Tak więc muszę ustawić prefiks za pomocą CMake, tak jak poniżej: cmake ~/kde-devel/src/kdelibs -DCMAKE_INSTALL_PREFIX=/home/<user>. W tym momencie mam poniżej błędu:CMake narzeka "Identyfikacja kompilatora CXX jest nieznana"

> ~/bin/cmake ~/kde-devel/src/kdelibs -DCMAKE_INSTALL_PREFIX=/home/<user> 
-- The CXX compiler identification is unknown 
-- Check for working CXX compiler: /home/gnu/bin/c++ 
-- Check for working CXX compiler: /home/gnu/bin/c++ -- broken 
CMake Error at /home/<user>/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake:45 (MESSAGE): 
    The C++ compiler "/home/gnu/bin/c++" is not able to compile a simple test 
    program. 

    It fails with the following output: 

    Change Dir: /home/<user>/kde-devel/build/kdelibs/CMakeFiles/CMakeTmp 



    Run Build Command:/usr/bin/gmake "cmTryCompileExec/fast" 
    ... 

Sprawdziłem, że istnieją 2 kompilatory C++:

> where c++ 
/home/gnu/bin/c++ 
/usr/bin/c++ 

należy ustawić CUpewnij domyślny kompilator C++ do ? i jak? Czy jest jakiś sposób, aby rozwiązać ten problem?

Odpowiedz

11

Wydaje się, że Twoja /home/gnu/bin/c++ wymaga dodatkowej flagi do poprawnego połączenia rzeczy, a CMake o tym nie wie.

Aby użyć jako kompilatora uruchom cmake z -DCMAKE_CXX_COMPILER=/usr/bin/c++.

Ponadto, CMAKE_PREFIX_PATH ustawia także katalog docelowy, w którym powinny być zainstalowane pliki projektu. Nie ma to nic wspólnego z prefiksem instalacji CMake, a sam CMake już to wie.

+0

'-DCMAKE_CXX_COMPILER =/usr/bin/c +' + rozwiązał mój problem na powłoce bash w Windows 10. Miałem do czynienia z tym problemem podczas instalowania "Emscripten" dla WebAssembly – TechMaze

2

Po prostu miałem problem z konfiguracją mojego nowego laptopa. Problemem dla mnie było to, że mój toolchain (CodeSourcery) ma 32-bitowy rozmiar, a ja nie zainstalowałem 32-bitowych bibliotek.

sudo apt-get install ia32-libs 
14

Uruchom apt-get install build-essential w systemie.

Ten pakiet zależy od innych pakietów, które są uważane za istotne dla kompilacji i zainstaluje je. Jeśli zauważysz, że musisz budować pakiety, może to być pomocne w uniknięciu fragmentarycznego rozwiązywania zależności.

Aby uzyskać więcej informacji, patrz this page.

+2

Proszę dodać komentarze na temat rozwiązania, dlaczego i jak rozwiązuje problem. –

+0

Praca dla mnie, thx! – BobMorane

Powiązane problemy