我希望我的代碼可以使用英特爾編譯器或gcc/g ++編譯,具體取決於configure參數。這可能嗎?我需要在我的configure.ac和Makefile.am文件中添加什麼來實現這一點?如何使用英特爾編譯器編譯autotools?
回答
如果編譯時想使用gcc以外的編譯器,請將'CC =/path/to/compiler'作爲參數進行配置。 (也就是說,運行./configure CC = /路徑。不要使用表格CC = /路徑的./configure。)如果你想在默認的編譯器是gcc以外的東西,你可以把
CC=${CC-/path/to/default/compiler}
在configure.ac之前調用AC _ PROG _ CC。
當然是了。您可以在configure.ac中配置默認編譯器,如果用戶想使用其他編譯器,他(或她)可以將它傳遞給./configure
腳本。
你會在這裏找到更多關於它的:How to use autotools。
這可能是你感興趣的部分是在頁面的中間:
#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
你就不能這樣做,因爲好: – freedrull 2011-02-24 05:45:31
通常你可以運行
bash $ CC=icc ./configure
使用LCC,或任何其他編譯器的C編譯器,前提是配置和構建過程的其餘部分不使用任何gcc'ism。
最好使用:$ ./configure CC = icc。如果您將CC作爲參數傳遞給configure,那麼使用config-status重新配置將會起作用。如果你在環境中設置CC,那麼它不會。 – 2009-08-15 12:05:42
我這樣做:
AC_PROG_CC([icc gcc])
這將尋找指定的順序編譯器,除非有一個參數覆蓋運行./configure
$ ./confgure CC=gcc
- 1. 使用記事本++和英特爾編譯器編譯文件Fortran編譯器
- 2. 英特爾編譯器向後兼容康柏編譯器
- 3. 許可英特爾Fortran編譯器
- 4. static_assert和英特爾C++編譯器
- 5. f2py與英特爾Fortran編譯器
- 6. 英特爾C++編譯器Windows CE
- 7. 英特爾編譯器和Python/ctypes/libffi
- 8. 英特爾編譯器值得嗎?
- 9. 英特爾的Windows C++編譯器
- 10. 英特爾C++和微軟編譯器
- 11. 編譯提升1.57與英特爾的編譯器
- 12. 如何在NetBeans中使用英特爾C++編譯器(Windows)
- 13. 如何在Qt Creator中使用英特爾C++編譯器
- 14. 如何使用英特爾C++編譯器與CUDA nvcc?
- 15. 使用英特爾編譯器套件編譯OpenMPI應用程序
- 16. 如果英特爾編譯器是默認編譯器,如何爲VS 2003設置本機Microsoft編譯器?
- 17. 我如何安裝英特爾編譯器和英特爾mpi的提升?
- 18. 如何利用英特爾編譯器構建提升
- 19. 英特爾DAAL編譯錯誤
- 20. Qt不會編譯(10.5英特爾Mac)
- 21. 英特爾tbb :: parallel_for_each編譯時錯誤
- 22. 無法編譯英特爾引腳
- 23. 英特爾DPDK編譯錯誤
- 24. 英特爾tbb編譯和測試
- 25. 英特爾Visual Fortran編譯錯誤
- 26. LD:在使用MEX與英特爾C++編譯器
- 27. 在英特爾編譯器和OpenMP中使用Cython
- 28. 在KVM客人機上使用英特爾編譯器
- 29. 使用英特爾編譯器構建Boost庫
- 30. 使用英特爾編譯器ICC -fast選項
這不是一個好方法。改爲使用freedrull建議的AC_PROG_CC。 – 2016-07-06 12:57:40