2015-12-21 39 views
1

我試圖建立與Visual Studio 2015的gnuplot爲此我運行位於Makefile中config\msvc如何使用MSVC構建Gnuplot? (syscfg.h(377):錯誤)

  1. 啓動的Microsoft Visual C++命令shell

  2. 更改爲config\msvc

  3. 運行nmake -f Makefile

但我得到以下致命錯誤:

c:\.......\gnuplot\src\gnuplot-5.0.1\gnuplot-5.0.1\src\syscfg.h(377): error C2632: 'char' ne peut pas être suivi de 'bool' 

是它建立了5.0.1版本的gnuplot for Windows的正確方法是什麼?你有沒有看到這個錯誤?

回答

4

問題與bool類型:Microsoft Visual Studio(自2013版以來)軟件包包含一個類型爲bool的庫。爲什麼,HAVE_STDBOOL_H沒有在您的系統上定義。 The issue has already been faced when compiling other software.

我可以建議你兩種可能性:

1)寫gnuplot-5.0.1\src\syscfg.h#define HAVE_STDBOOL_H略高於線370

2)打開Makefile,加/DHAVE_STDBOOL_HCFLAGS,或者,甚至CBASEFLAGS

的gnuplot-5.0.1的\ src \ syscfg.h(370-384):

#if HAVE_STDBOOL_H 
# include <stdbool.h> 
#else 
# if ! HAVE__BOOL 
# ifdef __cplusplus 
typedef bool _Bool; 
# else 
typedef unsigned char _Bool; 
# endif 
# endif 
# define bool _Bool 
# define false 0 
# define true 1 
# define __bool_true_false_are_defined 1 
#endif 

您構建它被認爲是正確的方式,它與Makefile提供的原始引導同意:

啓動的Microsoft Visual C++命令外殼(例如,通過鏈接安裝 設置)
更改到gnuplot的\ CONFIG \ MSVC目錄
編輯Makefile以符合你的配置。 (如果您沒有可選庫,你可能會禁用某些部分。)
現在運行:
NMAKE

+0

謝謝它的工作原理:我在定義'#定義HAVE_STDBOOL_H 1'/msvc文件夾的config.h文件。所以對於其他可能遇到類似問題的人,請看看這個config.h文件。 – Malick