2015-02-20 18 views
5

Khi xây dựng mã C++ bằng cách sử dụng hệ thống xây dựng waf, tôi có thể chọn một lệnh trình biên dịch C++ cụ thể không?Chỉ định trình biên dịch C++ trong waf

Mặc dù có thể chạy một cái gì đó như "CXX = g ++ - 4.9 waf định cấu hình" hoặc để có được hiệu ứng tương tự bằng cách đặt os.environ ['CXX'] trong tệp wscript, có cách 'thích hợp' hay không làm điều này?

tức là tương đương với thiết lập biến CXX trong Makefile là gì.

Trả lời

0

Có hơi lạ một chút về tài liệu tôi đã tìm thấy về chủ đề này. Tôi đã thực hiện bằng cách đặt biến môi trường trong hàm configure, như bạn đề cập trong câu hỏi của mình.

Đây là một ví dụ nhỏ cho sự tò mò:

import os 

def options(opt): 
    opt.load('wak.tools') 
    opt.load('compiler_cxx') 

def configure(conf): 
    conf.load('wak.tools') 
    if os.environ['CXX']: # Pull in the compiler 
     conf.env.CXX = os.environ['CXX'] 

    # Additional setup of variables 

    conf.load('compiler_cxx') # Will use the compiler from the environment path 

def build(bld): 
    bld.program(
     target='test', 
     includes='include', 
     source='src/main.cpp') 
Các vấn đề liên quan