1

以下のプログラムで、わからないことが 2 つあります。

  1. Microsoft VC でこのメイクファイルを使用するにはどうすればよいですか?

  2. なぜ「?」があるのですか?「=」の前に?

プログラム:

ifeq ($(TARGET_COMPILER),ms)    

   include ../makefile.ms.config

    DBG?= /Zi

    OPT= /Ox

    CXXFLAGS += $(COMMON_FLAGS) $(OPT) $(DBG)

    EEXT = $(EXT).dll

    ifeq ($(GZSTREAM),1)

      MYLIBS = src/gzstream/lib/zlib.lib

    endif
endif
4

1 に答える 1

6
  1. Visual Studio には makefile プロジェクト タイプがあります。それ以外の場合は、makefile が nmake によって実行されることを意図している可能性が最も高いです。

  2. 構文 '?=' は、変数が未定義の場合に値を割り当てることを意味します。つまり、DBG が設定されていない場合は、/Zi に設定されます。それ以外の場合、DBG の現在の値が /Z0 の場合は、現在の /Z0 の値が保持されます。

于 2009-01-14T02:14:34.587 に答える