Nếu bạn cài đặt Emacs và g ++ trong Cygwin, nó sẽ hoạt động giống như Linux, có nghĩa là bạn có thể chạy M-x compile
và sử dụng g++ myFile.cpp
làm lệnh biên dịch của bạn. Nếu bạn đang sử dụng Emacs "bản địa" cho Windows, hoặc trộn Cygwin/MinGW/etc, mọi thứ sẽ phức tạp hơn một chút (và các câu trả lời khác có giải pháp), nhưng nó sẽ giảm xuống để đảm bảo rằng các biến môi trường của bạn được thiết lập chính xác (ví dụ: PATH, SHELL, v.v.). Cuối cùng, nếu bạn không thể chạy nó trên dòng lệnh (hoặc cmd.exe hoặc/bin/bash từ Cygwin hoặc MinGW), nó sẽ không hoạt động trong bất kỳ Emacs nào.
Ví dụ, tôi biên dịch C++ trong Emacs bằng cách sử dụng cả hai SCons/g ++ từ Cygwin và devenv.com từ MS Visual Studio. Điều này tất nhiên đòi hỏi phải cài đặt của SCons và Visual Studio, nhưng nó là có thể. SCons cài đặt từ Cygwinports (http://sourceware.org/cygwinports/) và kết thúc bằng/usr/bin, nằm trong đường dẫn tiêu chuẩn, nhưng devenv.com được chôn sâu trong Visual Studio; để có được quyền truy cập vào nó, tôi thêm nó chứa thư mục để PATH của tôi (trong tôi ~/.bash_profile):
case $OS in
Windows_NT)
case "`uname -s`" in
CYGWIN_NT*)
PATH=${PATH}:"/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/"
;;
MINGW32_NT*)
PATH=${PATH}:"/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/"
;;
esac
esac
sau đó tôi xây dựng một lệnh biên dịch của một trong hai scons
hoặc devenv.com -build "Release|Platform MySolution.sln
, và những thứ đi vui vẻ cùng từ đó. Bạn có thể nhận được phức tạp như bạn cần (trong dự án hiện tại của tôi, tôi đã xây dựng và thử nghiệm các kịch bản shell mà chú thích đến scons
và devenv.com
; Tôi có xu hướng tránh các tệp bó, vì trình bao mạnh hơn nhiều). Khiếu nại duy nhất của tôi là Microsoft đã thay đổi đầu ra của các lỗi và do đó tự động nhảy vào các dòng mã từ đầu ra trình biên dịch hiện bị hỏng (tôi cần phải xem xét sửa lỗi đó).
Tôi giả định rằng bạn đến từ bản dựng Emacs "bản địa", trong trường hợp đó, bạn cũng có thể thấy hữu ích mô-đun cygwin-mount cho Emacs.
Nguồn
2013-02-21 21:41:36
Điều này làm việc hoàn hảo cho việc chuyển đổi vỏ mặc định thành bash nhưng vì một số lý do nó không tìm ra lệnh thực hiện hoặc lệnh gcc khi tôi cố thực thi chúng. –
thêm cygwin's/usr/bin vào Windows PATH? – Arkadiy
Vâng, tôi đã thêm nó rồi. –