2008-11-19 29 views
5

ai đó có thể cung cấp cho một tập tin cấu hình scons cho phép cơ cấu như sauscons: src và bao gồm dirs

toplevel/ 
     /src - .cc files 
     /include .h files 

ở cấp cao nhất tôi muốn o và exe thức.

Trả lời

4
env=Environment(CPPPATH='/usr/include/glib-2.0/:/usr/lib/glib-2.0/include:include', 
       CPPDEFINES=[], 
       LIBS=['glib-2.0']) 

if ARGUMENTS.get('debug', 0): 
    env.Append(CCFLAGS = ' -g') 

env.Program('template', Glob('src/*.cc')) 

Đã xử lý. Cảm ơn.

+0

Làm cách nào để tạo các tệp đối tượng (*. O) đi vào một thư mục mới được tạo tên là obj –

4

Câu hỏi này: https://stackoverflow.com/questions/279860/... mang lại một bộ xương scons khá linh hoạt sẽ đáp ứng nhu cầu của bạn với một vài chỉnh sửa đối với biến đường dẫn.

+1

Tôi nghĩ câu trả lời này là quá khó đối với hầu hết mọi người mới đối với scons. VariantDir? (ví dụ) và giả định kiến ​​thức về Python. – RichieHH

+0

Giả định của bạn là chính xác Richard. Tôi không có ý tưởng gì về tập tin cấu hình đó nhưng tôi nghĩ rằng tôi quản lý để kéo một cái gì đó hữu ích từ nó. – anon58192932

8

Dưới đây là một ví dụ về Sconscript nộp

env=Environment(CPPPATH='/usr/include/glib-2.0/:/usr/lib/glib-2.0/include:inc', 
       CPPDEFINES=[], 
       LIBS=['glib-2.0']) 
env.Program('runme', Glob('src/*.c')) 

(Dòng môi trường là không thực sự cần thiết cho ví dụ này, nhưng tôi có nó để bao gồm các con đường phi tiêu chuẩn lém lỉnh header và để nó ở đó, do đó bạn có thể nhận được ý tưởng cách thêm vào bao gồm và định nghĩa)

Tệp nguồn nằm trong thư mục src và tệp tiêu đề trong thư mục inc. Bạn chạy scons từ thư mục cơ sở và tập tin đầu ra cũng được tạo ra trong cùng một thư mục.

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