2012-01-20 34 views
1

我編譯的代碼包括一些標準庫作爲新的,cmath等......但是gcc不能包含它們。海灣合作委員會 - 標準庫中的致命錯誤,包括

我用python3.2 distutils來構建它。

它給了我這個錯誤:gcc fatal error: cmath: No such file or directory。我google了一下,也許有我的gcc配置不好,它必須重新安裝。

我試圖重新安裝glibc和gcc及其所有依賴關係在我的archlinux pc:sudo pacman -S --recursive glibc gcc但沒有任何改變。

問題是什麼?

+4

包括GCC的路徑當編譯C++程序,你應該使用'G ++'而不是'gcc' 。 'g ++'爲C++設置正確的包含路徑,並確保正確的庫和運行時與程序鏈接。 –

+0

好的問題是,我剛剛添加到setup.py源swig接口文件沒有swig_opts與-C++選項,所以swig正在生成module.c文件和gcc編譯爲C源。所以我添加了'swig_opts = [' - C++','-py3']'它運行正常:) – microo8

回答

6

<cmath>不是標準的C頭。它是一個C++頭文件。使用g++而不是gcc

4

通常cmath在C++(g ++)的包含路徑中,而不是gcc。

  1. 使用#include'math.h'with gcc;或
  2. 使用的#include 'CMATH' 與G ++

您可以檢查默認的

echo | gcc -v -E - 
相關問題