2009-07-13 29 views
14

GCC là trình biên dịch đa ngôn ngữ rất được kính trọng (từ những gì tôi đã thu thập được). Một điều tôi đã không thể tìm ra một cách dứt khoát là: Có thể sử dụng GCC trên các cửa sổ mà không cần bất kỳ thứ gì thêm như Cygwin hoặc MinGW?Có thể sử dụng GCC không có Cygwin hoặc MinGW không?

Tôi đã học được rằng nếu bạn sử dụng GCC trên Cygwin, có sự phụ thuộc vào một DLL. Nếu bạn sử dụng GCC với MinGW, bạn loại bỏ sự phụ thuộc đó nhưng bạn vẫn phải có MinGW để sử dụng GCC.

Có thể xây dựng GCC và tự sử dụng GCC, hoàn toàn có nguồn gốc từ Windows không? Giống như Compiler của Microsoft? Sau khi đọc xung quanh, số đoán của tôi là không. Nhưng tôi vẫn muốn biết thêm thông tin, nếu có thể.

Nếu không, tại sao GCC yêu cầu môi trường như Cygwin hoặc MinGW? Tôi hiểu điều này ngay bây giờ. Đó là vì GCC yêu cầu môi trường Unix/POSIX. Tại sao lại là, nó vẫn vượt xa tôi.

tôi đã tìm thấy điều này và nó giúp nhưng không thực sự trả lời câu hỏi của tôi: Why does GCC-Windows depend on cygwin?

Để tinh chỉnh câu hỏi của tôi, Tôi đoán những gì tôi đang cố gắng để hiểu tại sao GCC không thể đứng trên nó là của riêng - Tôi chỉ có "GCC.exe".

+1

Câu trả lời là ý thức hệ, Frank.Cá nhân, tôi rất vui khi thấy một gcc cho các cửa sổ không dựa vào Posix. –

+1

Một điều cũng cần lưu ý, khi bạn phân phối một chương trình được xây dựng với MSVC, bạn vẫn phải bao gồm các thư viện có thể phân phối lại được. Với MinGW, bạn phân phối lại mingwm10.dll. –

+1

@Mark Không, bạn không biết. Ví dụ, công cụ CSVfix của tôi được biên dịch với MinGW, chỉ phụ thuộc vào MSVCRT.DLL, giống như bất kỳ ứng dụng C/C++ windows nào khác. –

Trả lời

10

Đối với MinGW, bạn cần có MinGW theo nghĩa MinGW cung cấp việc triển khai hệ thống ngôn ngữ gcc. Tôi không thấy làm thế nào câu hỏi của bạn có ý nghĩa - nó giống như "Tôi có thể sử dụng VC + + mà không cần cài đặt VC + +?"

Để làm rõ: MinGW là trình biên dịch GCC, các tiêu đề và các đối tượng hỗ trợ. Không có gì khác. Có một gói liên quan nhưng độc lập gọi là MSYS cung cấp một số tiện ích posix, nhưng bạn không cần điều này theo bất kỳ cách nào để sử dụng phiên bản GG của MinGW.

+2

Tôi có thể sử dụng trình biên dịch mà không cần cài đặt IDE. Tôi chỉ cần trình biên dịch thực thi và bất kỳ đối tượng tiêu đề và hỗ trợ liên quan nào. Tôi không phải là chuyên gia biên dịch; Tôi không yêu cầu. Nhưng, tôi cảm thấy câu hỏi của tôi vẫn đứng vững và có ý nghĩa. Có lẽ bạn cần phải trừu tượng ra khỏi một số kiến ​​thức giả định của bạn - kiến ​​thức của bạn có thể là những gì tôi đang thiếu. –

+0

Có! bạn đã thực sự thử cài đặt và sử dụng nó chưa? –

+1

Bạn đang cố gắng nói rằng MinGW IS, về cơ bản, những gì tôi hỏi về/cho? Đó là một phiên bản của GCC có thể phù hợp nhất với những gì tôi hỏi? –

1

Tôi không nghĩ vậy. Tôi đã phải biên dịch một số ứng dụng dòng lệnh cho những người trong quá khứ và luôn phải sử dụng Cygwin.

Tôi nghĩ lý do lớn nhất là khả năng tương thích posix, đó là những gì Cygwin cố gắng mang đến Win32.

+0

mingw đang trở nên tốt hơn. Tôi thường biên dịch gdb và binutils với nó (cho các mục đích chéo). –

1

Vấn đề chính xác với mingw là gì? Và bản địa là gì?

mingw được sử dụng để tạo ra nhiều tệp nhị phân độc lập và có thể thậm chí còn bản địa hơn MSVC, yêu cầu msvcrt, một thành phần cần được cài đặt đôi khi.

Vì vậy, có thể bạn có thể giải thích những gì bạn đã thử với mingw và vấn đề chính xác là gì.

2

Để vô hiệu hóa phụ thuộc phụ của mingw, đơn giản là không sử dụng ngoại lệ (không có ngoại lệ), tôi chưa sử dụng Cygwin nên không chắc chắn.

-1

Linaro từng sử dụng để cung cấp thời gian dài trước đây, một GCC chạy một cách ngây thơ trên Windows mà không có MinGW hoặc Cygwin. Tôi hiện đang sử dụng GCC 4.9 trên PC Windows 10 để biên dịch UEFI và nó hoạt động như sự quyến rũ.

https://releases.linaro.org/archive/14.09/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.9-2014.09_win32.zip

+0

Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/17959362) – wdanda

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