2009-08-14 32 views

Trả lời

11

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.

+0

Đâ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ế. –

4

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 
+0

thể bạn không chỉ cần làm điều này như tốt: – freedrull

2

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.

+1

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. –

9

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 
Các vấn đề liên quan