2012-03-14 28 views
8

Tôi đang theo dõi thread này và one để xây dựng KDE của riêng tôi mà không có quyền sudo. Vì không có Git và CMake nào được cài đặt trên máy trạm. Tôi chỉ có cả hai cài đặt theo /home/< user> và thêm /home/< user>/bin/home/< user>/lib cho cả PATH và LD_LIBRARY_PATH. Vì xây dựng KDE chỉ hỗ trợ CMake, không cấu hình. Vì vậy, tôi phải thiết lập tiền tố thông qua CMake, như thế này: cmake ~/kde-devel/src/kdelibs -DCMAKE_INSTALL_PREFIX=/home/<user>. Tại thời điểm này tôi đã ở dưới lỗi:CMake than phiền "Nhận dạng trình biên dịch CXX không xác định"

> ~/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" 
    ... 

Tôi đã kiểm tra rằng có 2 C++ biên dịch:

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

Tôi có nên đặt CMake mặc định C++ biên dịch để ? và làm thế nào? Hoặc có cách nào để khắc phục sự cố này không?

Trả lời

11

/home/gnu/bin/c++ dường như yêu cầu cờ bổ sung để liên kết mọi thứ đúng cách và CMake không biết về điều đó.

Để sử dụng khi trình biên dịch của bạn chạy cmake với -DCMAKE_CXX_COMPILER=/usr/bin/c++.

Ngoài ra, CMAKE_PREFIX_PATH bộ biến đích thư mục nơi tệp của dự án của bạn nên được cài đặt. Nó không có gì để làm với tiền tố cài đặt CMake và chính CMake đã biết điều này.

+0

'-DCMAKE_CXX_COMPILER =/usr/bin/c +' + đã giải quyết được sự cố của tôi trên cửa sổ 10 bash shell. Tôi đã phải đối mặt với vấn đề này khi cài đặt 'Emscripten' cho WebAssembly – TechMaze

2

Tôi vừa gặp sự cố này khi thiết lập máy tính xách tay mới của mình. Vấn đề đối với tôi là toolchain của tôi (CodeSourcery) là 32bit và tôi chưa cài đặt libs 32bit.

sudo apt-get install ia32-libs 
14

Chạy apt-get install build-essential trên hệ thống của bạn.

Gói này tùy thuộc vào các gói khác được coi là thiết yếu cho bản dựng và sẽ cài đặt chúng. Nếu bạn thấy bạn phải xây dựng các gói, điều này có thể hữu ích để tránh phân giải phụ thuộc từng phần.

Xem this page để biết thêm thông tin.

+2

Vui lòng thêm một số nhận xét về giải pháp của bạn về lý do và cách giải quyết vấn đề –

+0

Workek cho tôi, thx! – BobMorane

Các vấn đề liên quan