Tôi muốn mã của mình biên dịch với (các) trình biên dịch Intel hoặc với gcc/g ++ tùy thuộc vào đối số cấu hình. Điều này có thể không? Tôi cần phải đặt gì trong các tệp configure.ac và Makefile.am để thực hiện điều này?Làm thế nào để tôi nhận được các autotools để biên dịch với trình biên dịch Intel?
Trả lời
Nếu bạn muốn sử dụng trình biên dịch khác với gcc khi biên dịch, hãy chuyển 'CC =/path/to/compiler' làm đối số để định cấu hình. (Tức là, chạy ./configure CC =/path. Không sử dụng các hình thức CC =/path ./configure.) Nếu bạn muốn biên dịch mặc định là một cái gì đó khác hơn là gcc, bạn có thể đặt
CC=${CC-/path/to/default/compiler}
trong configure.ac trước khi gọi AC _ PROG _ CC.
Tất nhiên rồi. Bạn có thể cấu hình một trình biên dịch mặc định trong configure.ac và nếu người dùng muốn sử dụng một trình biên dịch khác, anh ta (hoặc cô ấy) có thể chuyển nó tới tập lệnh ./configure
.
Bạn sẽ tìm hiểu thêm tại đây: How to use autotools.
Phần đó có thể là thú vị cho bạn là ở giữa trang:
#if a compiler is not specified by the user use intel compilers
AC_PATH_PROG(CC_PATH, $CC, NO_PATH)
if test "$CC_PATH" = NO_PATH; then
CC="icc"
fi
thể bạn không chỉ cần làm điều này như tốt: – freedrull
Thông thường, bạn chỉ có thể chạy
bash $ CC=icc ./configure
sử dụng lcc, hoặc bất kỳ trình biên dịch khác như C trình biên dịch, cung cấp phần còn lại của quá trình cấu hình và xây dựng không sử dụng bất kỳ gcc'ism nào.
Tốt hơn nên sử dụng: $ ./configure CC = icc. Nếu bạn vượt qua CC làm đối số để định cấu hình thì việc định cấu hình lại với cấu hình-trạng thái sẽ hoạt động. Nếu bạn đặt CC trong môi trường, thì nó sẽ không. –
tôi sẽ làm điều này:
AC_PROG_CC([icc gcc])
này sẽ tìm kiếm các trình biên dịch theo trình tự quy định, trừ khi ghi đè với một cuộc tranh cãi để ./configure
$ ./confgure CC=gcc
- 1. autotools: Bật cảnh báo trình biên dịch
- 2. Cờ biên dịch mặc định với Autotools
- 3. Làm thế nào để biên dịch chương trình đi trong 1.1.2 với các phụ thuộc được biên dịch trong 1.1.1?
- 4. Trình biên dịch/trình biên dịch/trình biên dịch C++
- 5. Làm thế nào để biên dịch một tệp với maven?
- 6. Làm thế nào để biên dịch cho 32bit với Eclipse
- 7. Làm thế nào để làm độc lập on-the-fly trong bộ nhớ biên dịch với trình biên dịch eclipse?
- 8. Trình biên dịch biên dịch trong C#
- 9. Làm thế nào để biên dịch Intel Mac nhị phân trên Linux?
- 10. Trình biên dịch C++ biên dịch các tên biến như thế nào?
- 11. Làm thế nào bạn có thể nhận được cây gọi với trình biên dịch python?
- 12. Biên dịch lắp ráp intel với gcc/mingw
- 13. Phát triển iPhone - Trình biên dịch của Trình biên dịch!
- 14. Trình biên dịch có được phép loại bỏ các vòng vô hạn như trình biên dịch C++ của Intel với -O2 không?
- 15. Làm thế nào để bạn có được trình biên dịch Python để làm việc?
- 16. Làm thế nào để vượt qua một cờ biên dịch để thử nghiệm trình biên dịch ban đầu cmake?
- 17. Nhận các tùy chọn trình biên dịch từ tệp thực thi đã biên dịch?
- 18. Trình biên dịch có trình biên dịch không?
- 19. Khi nào Java nhận được trình biên dịch JIT?
- 20. Quá trình biên dịch
- 21. Hiệu suất biên dịch mã bằng biên dịch biên dịch
- 22. Làm thế nào để biên dịch CEDET 1.0pre7 biên dịch cho Emacs 23.1.50 trên Windows?
- 23. Tôi làm cách nào để Emac nhận ra các biến môi trường bash để biên dịch?
- 24. Làm thế nào để chạy chương trình được viết cho trình biên dịch cũ?
- 25. Làm thế nào để điều chỉnh đường dẫn mà Emacs biên dịch-goto-lỗi được từ bộ đệm biên dịch?
- 26. C để trình biên dịch brainfuck?
- 27. AS3 để JS trình biên dịch
- 28. Làm thế nào để biên dịch chéo Git cho ARM?
- 29. Bạn có thể tìm ra trình biên dịch nào được sử dụng để biên dịch chương trình không?
- 30. Tôi biết typeof (T) nhưng trình biên dịch thì không. Làm thế nào để khắc phục?
Đây không phải là cách tiếp cận tốt. Sử dụng AC_PROG_CC theo hướng dẫn của freedrull để thay thế. –