4

すべてのUNIXシステムでコンパイルしたいコードがありますが、-m64 iが使用可能であり、それが機能する場合は、configureスクリプトでそれを使用する必要があります。autoconfに-m64が機能するかどうかを確認し、機能する場合はそれを使用するにはどうすればよいですか?

4

2 に答える 2

10
my_save_cflags = "$ CFLAGS"
CFLAGS = -m64
AC_MSG_CHECKING([CCが-m64をサポートするかどうか])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])]、
    [AC_MSG_RESULT([yes])]
    [AM_CFLAGS = -m64]、
    [AC_MSG_RESULT([no])]
)。
CFLAGS = "$ my_save_cflags"
AC_SUBST([AM_CFLAGS])

AM_CFLAGSを使用してビルドに-m64を追加することは、自動作成(または、自動化されていない独自のmakefileでのAM_CFLAGSの使用)を前提としています。

于 2009-09-06T08:05:10.657 に答える
2
dnl @synopsis CXX_FLAGS_CHECK [compiler flags]                                        
dnl @summary check whether compiler supports given C++ flags or not                   
AC_DEFUN([CXX_FLAG_CHECK],                                                            
[dnl                                                                                  
  AC_MSG_CHECKING([if $CXX supports $1])
  AC_LANG_PUSH([C++])
  ac_saved_cxxflags="$CXXFLAGS"                                                       
  CXXFLAGS="-Werror $1"                                                               
  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],                                            
    [AC_MSG_RESULT([yes])],                                                           
    [AC_MSG_ERROR([no])]                                                              
  )                                                                                   
  CXXFLAGS="$ac_saved_cxxflags"                                                       
  AC_LANG_POP([C++])
])

そして使用する

CXX_FLAGS_CHECK([-m64])
于 2013-10-29T14:28:09.923 に答える