找回密码
 注册
Simdroid-非首页
查看: 695|回复: 5

[OpenSees] OpenSees编译[Debian 7_32]

[复制链接]
发表于 2013-5-20 12:23:34 | 显示全部楼层 |阅读模式 来自 黑龙江哈尔滨
本帖最后由 bluevita 于 2013-5-20 12:27 编辑

OpenSees木有Linux版本,源代码发布形式为WebSVN,不能整体打包下载编译,研究了一下svn,好强大,嘎嘎~
sudo apt-get install subversion
svn co svn://opensees.berkeley.edu/usr/local/svn/OpenSees/trunk@5305 OpenSees
同步到本地OpenSees文件集,5305是最近更新。此外需要建立Makefile.def文件并安装依赖的软件,包括tcl/tk和mysql数据库。
mkdir lib
mkdir bin
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install make
sudo apt-get install gfortran
sudo apt-get install mysql-server
sudo apt-get install tcl
sudo apt-get install tcl8.5-dev
sudo apt-get install emacs
sudo chmod 777 OpenSees
ls -l查看OpenSees权限更改为drwxrwxrwx
cd OpenSees
mv Makefile.def.LINUX Makefile.def
vi Makefile.def
一开始大意了,没有更改路径,直接卡死~改路径:
# %------------------------------------------------------%
# |          以下内容都是编辑Makefile.def        |
# %------------------------------------------------------%
BASE= /usr/local
HOME= /home/YOURUSERNAME
注意到Makefile.def中
TCL_LIBRARY     = /usr/lib/libtk8.3.so /usr/lib/libtcl8.3.so
cd /usr/lib/
ls发现libtcl8.5.so,改之。
Makefile中有
$(MKDIR) $(HOME)/bin
$(MKDIR) $(HOME)/lib
前面自己不建lib bin的文件夹应该也是可以的。
sudo make
出现错误:
fatal error: tcl.h: No such file or directory
compilation terminated.
安装tk8.5 tk8.5-dev libelf-dev,问题没有得到解决,看到
Well.. editing src/Makefile.linux and adding -I/usr/include/tcl8.5 to CFLAGS gets it further.
http://forums.whirlpool.net.au/archive/1425095
不知道上述方法能否解决问题,这个问题解决纯属瞎猫碰上死耗子,对Makefile.def做了如下更改:
RELIABILITY = YES_RELIABILITY
改为
RELIABILITY = NO_RELIABILITY
问题解决。继续~
出现错误,居然在官方论坛找到了解决方法:
/home/sghosh/sources/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SuperLU.h:48:23: fatal error: slu_ddefs.h: No such file or directorycompilation terminated.
what is in the Makefile.def for SuperLU location .. it should be pointing to SuperLU_4.1
http://opensees.berkeley.edu/community/viewtopic.php?f=2&t=33815
对Makefile.def做了如下更改:
SUPERLUdir   = $(HOME)/OpenSees/OTHER/SuperLU_3.0/SRC
改为:
SUPERLUdir   = $(HOME)/OpenSees/OTHER/SuperLU_4.1/SRC
又出现错误
make[2]: *** [commands.o] Error 1
这次官方论坛没有持续给力:
http://opensees.berkeley.edu/community/viewtopic.php?f=4&t=30985
没有给出解决方法,继续寻找,终于:
The files compile under linux or mac osx operating systems with versions Tcl8.3, Tcl8.4 and Tcl8.5. To specify the version of Tcl you need to provde a -D_Tcl83, -DTcl84 or -D_TCL85 preprocessor flag. This is set in Makefile.def.
http://blog.sina.com.cn/s/blog_538c24e50100risz.html
于是每一个C++FLAGS之后添加-D_TCL85问题得到解决。
继续出错:
OpenSees/SRC/renderer/OpenGlDevice.h:33:19: fatal error: GL/gl.h: No such file or directory
compilation terminated.
官方论坛再次给力:
I installed libgl1-mesa-dev and it gave me a gl.h....
http://opensees.berkeley.edu/community/viewtopic.php?f=2&t=33815
所以sudo apt-get install libgl1-mesa-dev之后问题解决,继续,出错:
OpenGlRenderer.cpp:54:20: fatal error: GL/glu.h: No such file or directory
compilation terminated.
在AMD Developer Central找到解决方法:
Got it fixed. Need to install libglu1-mesa-dev. :-)
http://devgurus.amd.com/thread/159278
所以sudo apt-get install libglu1-mesa-dev
继续,编译很久很久很久之后,我以为要成功了,结果继续出错:

g++: error: /usr/lib/libGL.a: No such file or directory
g++: error: /usr/X11R6/lib/libX11.a: No such file or directory
g++: error: /usr/X11R6/lib/libXext.a: No such file or directory
g++: error: /usr/lib/libGLU.a: No such file or directory
make[1]: *** [tcl] Error 1
make[1]: Leaving directory `/home/lxw/myusr/OpenSees/SRC/modelbuilder/tcl'
make: *** [all] Error 2

万能的官网论坛:
you are missing OpenGL library, you can either build OpenSees w/o graphics (which is probably all you need) ..
GRAPHICS = NONE
GRAPHICS_FLAG = -D_NO_GRAPHICS
make sure graphics flag is part of c++ flags in the Makefile.def
or you can see if gl is locates somewhere else or download it and install it.
http://opensees.berkeley.edu/community/viewtopic.php?t=19423

GRAPHICS = UsingOpenGL
改为(论坛可能是输入错误)
GRAPHICS = NONE
GRAPHIC_FLAG = -D_NOGRAPHICS
并且把
ifeq ($(GRAPHICS), UsingX11)
GRAPHIC_LIBRARY = /usr/X11R6/lib/libX11.a
else
GRAPHIC_LIBRARY = /usr/lib/libGL.a /usr/X11R6/lib/libX11.a /usr/X11R6/lib/libXext.a \
/usr/lib/libGLU.a
endif


ifeq ($(RELIABILITY), YES_RELIABILITY)
RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
else
RELIABILITY_LIBRARY =
endif
改为:
GRAPHIC_LIBRARY     =
RELIABILITY_LIBRARY =
该问题解决,继续,报错
/usr/bin/ld: cannot find -lg2c

MACHINE_NUMERICAL_LIBS  = ...中删去-lg2c
编译报错:
/home/lxw/myusr/lib/libLapack.a(ilaenv.o):ilaenv.f.text+0x252): more undefined references to `_gfortran_compare_string' follow
collect2: error: ld returned 1 exit status
make[1]: *** [tcl] Error 1

MACHINE_NUMERICAL_LIBS  = 加上-lgfortran

undefined reference to `cs_spfree'
..........
等好多
You need to add lines in you make file to compile and link CSPARSE.
http://opensees.berkeley.edu/community/viewtopic.php?f=4&t=55945
添加CSPARSE和AMD

DIRS        = $(AMDdir) \
$(CSPARSEdir) \

AMD_LIBRARY  = $(HOME)/lib/libAMD.a
CSPARSE_LIBRARY   = $(HOME)/lib/libCSparse.a

WIPE_LIBS= $(AMD_LIBRARY) \
$(CSPARSE_LIBRARY) \

MACHINE_NUMERICAL_LIBS  = $(CSPARSE_LIBRARY) \
$(AMD_LIBRARY)\
之后,继续报错
说明OpenGL是必须的。将前面GRAPHICS改回:
GRAPHICS = UsingOpenGL
但是GRAPHIC_LIBRARY做如下更改:
ifeq ($(GRAPHICS), UsingOpenGL)
GRAPHIC_LIBRARY = /usr/lib/libGL.so /usr/lib/libX11.a /usr/lib/libXext.a /usr/lib/libGLU.so
else
GRAPHIC_LIBRARY = -L/usr/lib/libX11.a
endif
因为/usr/lib/文件夹下面没有libGL.a
MACHINE_INCLUDES 中添加了
-I/usr/include/X11 \
-I/usr/lib/glib-2.0/include \
-I/usr/include/GL
编译,仍然重复前面的错误。一愁莫展。
make clean之后重新编译,大功告成~


 楼主| 发表于 2013-5-20 12:29:18 | 显示全部楼层 来自 黑龙江哈尔滨
Simdroid开发平台
Makefile.def
  1. ############################################################################
  2. #
  3. #  Program:  OpenSees
  4. #
  5. #  Purpose:  A Top-level Makefile to create the libraries needed
  6. #     to use the OpenSees framework. Works for Linux 7.1 and
  7. #            above, modified to use the OpenGl libraries.
  8. #
  9. #  Written: fmk
  10. #  Created: 10/99
  11. #
  12. #  Send bug reports, comments or suggestions to fmckenna@ce.berkeley.edu
  13. #
  14. ############################################################################

  15. # %---------------------------------%
  16. # |  SECTION 1: PROGRAM             |
  17. # %---------------------------------%
  18. #
  19. # Specify the location and name of the OpenSees interpreter program
  20. # that will be created (if this all works!)

  21. OpenSees_PROGRAM = $(HOME)/bin/OpenSees

  22. # %---------------------------------%
  23. # |  SECTION 2: MAKEFILE CONSTANTS  |
  24. # %---------------------------------%
  25. #
  26. # Specify the constants the are used as control structure variables in the Makefiles.

  27. #OPERATING_SYSTEM = LINUX
  28. OPERATING_SYSTEM = LINUX

  29. #GRAPHICS = UsingOpenGL, UsingX11, NONE
  30. GRAPHICS = UsingOpenGL

  31. #PROGRAMMING_MODE = PARALLEL_INTERPRETERS
  32. #PROGRAMMING_MODE = SEQUENTIAL, THREADS OR DISTRIBUTED_MPI
  33. PROGRAMMING_MODE = SEQUENTIAL


  34. #COMPILER = GCC, KAI
  35. COMPILER = GCC

  36. #DEBUG_MODE = DEBUG, NO_DEBUG
  37. DEBUG_MODE = NO_DEBUG

  38. #RELIABILITY = YES_RELIABILITY, NO_RELIABILITY
  39. RELIABILITY = NO_RELIABILITY

  40. # %---------------------------------%
  41. # |  SECTION 3: PATHS               |
  42. # %---------------------------------%
  43. #
  44. # Note: if vendor supplied BLAS and LAPACK libraries or if you have
  45. # any of the libraries already leave the directory location blank AND
  46. # remove the directory from DIRS.

  47. BASE = /usr/local
  48. HOME = /home/lxw/myusr
  49. FE = $(HOME)/OpenSees/SRC

  50. AMDdir       = $(HOME)/OpenSees/OTHER/AMD
  51. ARPACKdir    = $(HOME)/OpenSees/OTHER/ARPACK
  52. BLASdir      = $(HOME)/OpenSees/OTHER/BLAS
  53. CBLASdir     = $(HOME)/OpenSees/OTHER/CBLAS
  54. CSPARSEdir   = $(HOME)/OpenSees/OTHER/CSPARSE
  55. LAPACKdir    = $(HOME)/OpenSees/OTHER/LAPACK
  56. METISdir     = $(HOME)/OpenSees/OTHER/METIS
  57. SRCdir       = $(HOME)/OpenSees/SRC

  58. ifeq ($(PROGRAMMING_MODE), THREADS)
  59. SUPERLUdir   = $(HOME)/OpenSees/OTHER/SuperLU_MT
  60. else
  61. SUPERLUdir   = $(HOME)/OpenSees/OTHER/SuperLU_4.1/SRC
  62. endif

  63. UMFPACKdir   = $(HOME)/OpenSees/OTHER/UMFPACK




  64. DIRS        = $(AMDdir) \
  65. $(ARPACKdir) \
  66. $(BLASdir) \
  67. $(CBLASdir) \
  68. $(CSPARSEdir) \
  69. $(LAPACKdir) \
  70. $(METISdir)\
  71. $(SRCdir) \
  72. $(SUPERLUdir) \
  73. $(UMFPACKdir) \



  74. # %-------------------------------------------------------%
  75. # | SECTION 4: LIBRARIES                                  |
  76. # |                                                       |
  77. # | The following section defines the libraries that will |
  78. # | be created and/or linked with when the libraries are  |
  79. # | being created or linked with.                         |
  80. # %-------------------------------------------------------%
  81. #
  82. # Note: if vendor supplied BLAS and LAPACK libraries leave the
  83. # libraries blank. You have to get your own copy of the tcl/tk
  84. # library!!
  85. #
  86. # Note: For libraries that will be created (any in DIRS above)
  87. # make sure the directory exsists where you want the library to go!
  88. AMD_LIBRARY     = $(HOME)/lib/libAMD.a
  89. ARPACK_LIBRARY  = $(HOME)/lib/libArpack.a
  90. BJMISC_LIBRARY  = $(HOME)/lib/libBJmisc.a  # BJ_UCD jeremic@ucdavis.edu
  91. BLAS_LIBRARY    = $(HOME)/lib/libBlas.a
  92. CBLAS_LIBRARY   = $(HOME)/lib/libCBlas.a
  93. CSPARSE_LIBRARY = $(HOME)/lib/libCSparse.a
  94. FE_LIBRARY      = $(HOME)/lib/libOpenSees.a
  95. LAPACK_LIBRARY  = $(HOME)/lib/libLapack.a
  96. MATMOD_LIBRARY  = $(HOME)/lib/libmatmod.a  # BJ_UCD jeremic@ucdavis.edu
  97. METIS_LIBRARY   = $(HOME)/lib/libMetis.a
  98. NDARRAY_LIBRARY = $(HOME)/lib/libndarray.a # BJ_UCD jeremic@ucdavis.edu
  99. SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a
  100. TCL_LIBRARY     = /usr/lib/libtk8.5.so /usr/lib/libtcl8.5.so
  101. UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
  102. BLITZ_LIBRARY   =
  103. #%===================GRAPHIC_LIBRARY===================%
  104. #GRAPHIC_LIBRARY     =
  105. #ifeq ($(GRAPHICS), UsingX11)
  106. #GRAPHIC_LIBRARY = /usr/X11R6/lib/libX11.a
  107. #else
  108. #GRAPHIC_LIBRARY = /usr/lib/libGL.a /usr/X11R6/lib/libX11.a /usr/X11R6/lib/libXext.a \
  109. # /usr/lib/libGLU.a
  110. #endif
  111. #ifeq ($(GRAPHICS), UsingX11)
  112. #GRAPHIC_LIBRARY = -L/usr/lib/libX11.a
  113. #else
  114. #GRAPHIC_LIBRARY = -L/usr/X11R6/lib -lX11 -lGL -lGLU
  115. #endif


  116. ifeq ($(GRAPHICS), UsingOpenGL)
  117. GRAPHIC_LIBRARY = /usr/lib/libGL.so /usr/lib/libX11.a /usr/lib/libXext.a /usr/lib/libGLU.so
  118. else
  119. GRAPHIC_LIBRARY = -L/usr/lib/libX11.a
  120. endif


  121. #%===================RELIABILITY_LIBRARY===================%
  122. ifeq ($(RELIABILITY), YES_RELIABILITY)
  123. RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
  124. else
  125. RELIABILITY_LIBRARY =
  126. endif



  127. # WATCH OUT .. These libraries are removed when 'make wipe' is invoked.
  128. WIPE_LIBS = $(FE_LIBRARY) \
  129. $(LAPACK_LIBRARY) \
  130. $(BLAS_LIBRARY) \
  131. $(CBLAS_LIBRARY) \
  132. $(SUPERLU_LIBRARY) \
  133. $(ARPACK_LIBRARY) \
  134. $(UMFPACK_LIBRARY) \
  135.        $(METIS_LIBRARY) \
  136. $(RELIABILITY_LIBRARY)\
  137. $(AMD_LIBRARY) \
  138. $(CSPARSE_LIBRARY) \

  139. # %---------------------------------------------------------%
  140. # | SECTION 5: COMPILERS                                    |
  141. # |                                                         |
  142. # | The following macros specify compilers, linker/loaders, |
  143. # | the archiver, and their options.  You need to make sure |
  144. # | these are correct for your system.                      |
  145. # %---------------------------------------------------------%

  146. # Compilers
  147. CC++ = /usr/bin/g++
  148. CC      = /usr/bin/gcc
  149. FC = /usr/bin/gfortran

  150. AR = ar
  151. ARFLAGS = cqls
  152. RANLIB = ranlib
  153. RANLIBFLAGS     =

  154. #%====GRAPHIC_FLAG====%
  155. #GRAPHICS = UsingOpenGL, UsingX11
  156. ifeq ($(GRAPHICS), UsingOpenGL)
  157. GRAPHIC_FLAG = -D_GLX
  158. else
  159. ifeq ($(GRAPHICS),NONE)
  160. GRAPHIC_FLAG = -D_NOGRAPHICS
  161. else
  162. GRAPHIC_FLAG = -D_X11
  163. endif
  164. endif
  165. #%====PROGRAMMING_FLAG====%
  166. ifeq ($(PROGRAMMING_MODE), THREADS)
  167. PROGRAMMING_FLAG = -D_THREADS -D_PTHREAD
  168. else
  169. PROGRAMMING_FLAG =
  170. endif
  171. #%====DEBUG_FLAG====%
  172. ifeq ($(DEBUG_MODE), DEBUG)
  173. DEBUG_FLAG = -D_G3DEBUG
  174. else
  175. DEBUG_FLAG =
  176. endif
  177. #%====RELIABILITY_FLAG====%
  178. ifeq ($(RELIABILITY), YES_RELIABILITY)
  179. RELIABILITY_FLAG = -D_RELIABILITY
  180. else
  181. RELIABILITY_FLAG =
  182. endif


  183. # Compiler Flags
  184. #
  185. # NOTES:
  186. #    C++ FLAGS TAKE need _UNIX or _WIN32 for preprocessor dircetives
  187. #         - the _WIN32 for the Windows95/98 or NT operating system.
  188. #    C FLAGS used -DUSE_VENDOR_BLAS (needed in SuperLU) if UNIX in C++ FLAGS
  189. #


  190. ifeq ($(DEBUG_MODE), DEBUG)

  191. C++FLAGS         = -Wall  -funroll-loops -fcse-follow-jumps \
  192. -fthread-jumps -fcse-skip-blocks -frerun-cse-after-loop \
  193. -felide-constructors \
  194. -fcaller-saves  -ffloat-store -fforce-addr \
  195. -fschedule-insns -fschedule-insns2 -D_LINUX -D_UNIX \
  196. $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) \
  197. -fexpensive-optimizations \
  198. -fforce-addr -fforce-mem -finline-functions \
  199. -fkeep-inline-functions \
  200.               -fno-function-cse -fno-inline -fno-peephole \
  201.               -fschedule-insns -fschedule-insns2 \
  202.               -fstrength-reduce -fthread-jumps -g -pg \
  203.      -ffloat-store -D_RELIABILITY -D_TCL85

  204. CFLAGS          = -Wall -pg $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG)
  205. FFLAGS          = -Wall

  206. # Linker
  207. LINKER          = $(CC++)
  208. LINKFLAGS       = -g -pg

  209. else

  210. # modified as optimizaton currently causing problems with Steel01 code
  211. C++FLAGS        =  -Wall -O3 -D_UNIX -ftemplate-depth-30 -D_LINUX \
  212. $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) \
  213. -ffloat-store -D_TCL85

  214. CFLAGS          = -Wall -O3 $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG)
  215. FFLAGS          = -Wall -O

  216. # Linker
  217. LINKER          = $(CC++)
  218. LINKFLAGS       =

  219. endif

  220. ifeq ($(COMPILER), KAI)

  221. CC++ = /usr/local/KAI/KCC_BASE/bin/KCC
  222. CC      = /usr/local/KAI/KCC_BASE/bin/KCC
  223. FC = /usr/bin/g77

  224. C++FLAGS        =  -D_KAI -D_UNIX -D_LINUX +K1 +K3 -O3 \
  225. $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG)
  226. --display_error_number --backend -ffloat-store -D_TCL85

  227. CFLAGS          =  -D_KAI -D_UNIX -D_LINUX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) \
  228. $(DEBUG_FLAG) $(PROGRAMMING_FLAG) +K3 -O3 --c
  229. FFLAGS          =  -Wall -O

  230. LINKER          = $(CC++)
  231. LINKFLAGS       =

  232. endif


  233. # Misc
  234. MAKE = make
  235. CD              = cd
  236. ECHO            = echo
  237. RM              = rm
  238. RMFLAGS         = -f
  239. SHELL           = /bin/sh

  240. # %---------------------------------------------------------%
  241. # | SECTION 6: COMPILATION                                  |
  242. # |                                                         |
  243. # | The following macros specify the macros used in         |
  244. # | to compile the source code into object code.            |
  245. # %---------------------------------------------------------%

  246. .SUFFIXES:
  247. .SUFFIXES: .C .c .f .f90 .cpp .o .cpp

  248. #
  249. # %------------------%
  250. # | Default command. |
  251. # %------------------%
  252. #
  253. .DEFAULT:
  254. @$(ECHO) "Unknown target $@, try:  make help"
  255. #
  256. # %-------------------------------------------%
  257. # |  Command to build .o files from .f files. |
  258. # %-------------------------------------------%
  259. #

  260. .cpp.o:
  261. @$(ECHO) Making $@ from $<
  262. $(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@

  263. .C.o:
  264. @$(ECHO) Making $@ from $<
  265. $(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
  266. .c.o:
  267. @$(ECHO) Making $@ from $<
  268. $(CC) $(CFLAGS) -c $< -o $@
  269. .f.o:      
  270. @$(ECHO) Making $@ from $<
  271. $(FC) $(FFLAGS) -c $< -o $@

  272. # %---------------------------------------------------------%
  273. # | SECTION 7: OTHER LIBRARIES                              |
  274. # |                                                         |
  275. # | The following macros specify other libraries that must  |
  276. # | be linked with when creating executables. These are     |
  277. # | platform specific and typically order does matter!!     |
  278. # %---------------------------------------------------------%
  279. MACHINE_LINKLIBS  = -L$(BASE)/lib \
  280. -L$(HOME)/lib

  281. MACHINE_NUMERICAL_LIBS  = -lm \
  282. $(ARPACK_LIBRARY) \
  283. $(SUPERLU_LIBRARY) \
  284. $(CSPARSE_LIBRARY) \
  285. $(AMD_LIBRARY)\
  286. $(UMFPACK_LIBRARY) $(METIS_LIBRARY) \
  287.        $(LAPACK_LIBRARY) $(BLAS_LIBRARY) $(CBLAS_LIBRARY) \
  288. $(GRAPHIC_LIBRARY) $(RELIABILITY_LIBRARY) \
  289. -ldl -lgfortran -lpng


  290. ifeq ($(PROGRAMMING_MODE), THREADS)
  291. MACHINE_SPECIFIC_LIBS = -lpthread
  292. else
  293. MACHINE_SPECIFIC_LIBS =
  294. endif

  295. # %---------------------------------------------------------%
  296. # | SECTION 8: INCLUDE FILES                                |
  297. # |                                                         |
  298. # | The following macros specify include files needed for   |
  299. # | compilation.                                            |
  300. # %---------------------------------------------------------%
  301. MACHINE_INCLUDES        = -I/usr/include \
  302. -I$(BASE)/include \
  303. -I/usr/include/cxx \
  304. -I$(HOME)/include -I$(HOME)/blitz \
  305. -I$(UMFPACKdir) -I$(SUPERLUdir) \
  306. -I/usr/include/cxxtools \
  307. -I/usr/include/blitz \
  308. -I/usr/include/X11 \
  309. -I/usr/lib/glib-2.0/include \
  310. -I/usr/include/GL

  311. # this file contains all the OpenSees/SRC includes
  312. include $(FE)/Makefile.incl

  313. TCL_INCLUDES = -I/usr/include/tcl8.5 -I/usr/include

  314. INCLUDES = $(TCL_INCLUDES) $(FE_INCLUDES) $(MACHINE_INCLUDES)

复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2013-8-1 20:54:57 | 显示全部楼层 来自 陕西西安
hi,你好,
回复 不支持

使用道具 举报

 楼主| 发表于 2013-8-29 09:53:06 | 显示全部楼层 来自 黑龙江哈尔滨
batteren 发表于 2013-8-1 20:54
hi,你好,

师兄好。。。
回复 不支持

使用道具 举报

发表于 2014-5-7 06:38:49 | 显示全部楼层 来自 山东济南
不错,学习学习
回复 不支持

使用道具 举报

发表于 2019-2-18 17:32:41 | 显示全部楼层 来自 中国
学习学习,谢谢
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-20 05:08 , Processed in 0.038341 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表