About the makecint

it seems that the makecint 's headerfile and the lib have to be in the same diretory when in the win32.
it can not process the situation that header file and the lib/cpp are not in the same diretory.

$ makecint -mk makefile -H ../test.h -C++ ./test/test.cpp
################################################################
# makecint : interpreter-compiler for cint (Windows VisualC++ version)
#
# Copyright(c) 1995~2004 Masaharu Goto (cint@pcroot.cern.ch)
#                        (cint mailing list 'cint@root.cern.ch')
################################################################
ERROR in G__SourceFile::G__SourceFile: source ./test/test.cpp has unrecognized e
xtension /TEST/TEST.CPP!Error: '-o [Object]' must be set in the command line
!!!makecint aborted!!!  makecint -? for help
$ makecint -mk makefile -H "..\test.h" -C++ ".\test\test.cpp"
################################################################
# makecint : interpreter-compiler for cint (Windows VisualC++ version)
#
# Copyright(c) 1995~2004 Masaharu Goto (cint@pcroot.cern.ch)
#                        (cint mailing list 'cint@root.cern.ch')
################################################################
ERROR in G__SourceFile::G__SourceFile: source .\test\test.cpp has unrecognized e
xtension \TEST\TEST.CPP!Error: '-o [Object]' must be set in the command line
!!!makecint aborted!!!  makecint -? for help

$ makecint -mk makefile -dl test.dll -H /cygdrive/d/test/test.h -C++ /cygdrive/
d/test/test/test/test.cpp
################################################################

makecint : interpreter-compiler for cint (Windows VisualC++ version)

Copyright© 1995~2004 Masaharu Goto (cint@pcroot.cern.ch)

(cint mailing list 'cint@root.cern.ch’)

################################################################
makefile is created. Makecint success.
Do ‘make -f makefile’ to compile the object

张炜@zhangwei /cygdrive/d/test/test
$ make
cl -DG__REDIRECTIO -DG__SHAREDLIB -DG__UNIX -DG__WIN32 -DVISUAL_CPLUSPLUS -DG__
NEWSTDHEADER -D_CRT_SECURE_NO_DEPRECATE=1 -D_SECURE_SCL=0 -D_HAS_ITERATOR_DEBUGG
ING=0 -DG__HAVE_CONFIG -DG__NOMAKEINFO -O2 -MD -nologo -wd4996 -EHs -GR -wd41
81 -Fo/cygdrive/d/test/test/test/test.obj -c /cygdrive/d/test/test/test/test.cpp

cl : 命令行 warning D4002 :忽略未知选项“/cygdrive/d/test/test/test/test.cpp”
cl : 命令行 error D2003 :缺少源文件名
make: *** [/cygdrive/d/test/test/test/test.obj] Error 2

Hi,

you must not use the /cygdrive/d/ notation, use D:/ instead.

Axel.

[quote=“Axel”]you must not use the /cygdrive/d/ notation, use D:/ instead.
[/quote]

Just to clarify: If you’re running Root compiled with VC++, it doesn’t know anything about the Cygwin mount table, so that’s why you need to use D:/ instead. If you are running Root compiled with gcc in Cygwin, one should use the /cygwin/d notation, right?

Cheers,
Charles

Hi Charles,

correct. But his makecint log contains “(Windows VisualC++ version)” so I knew it was a MSVC build :slight_smile:

Cheers, Axel.

[quote=“Axel”]But his makecint log contains “(Windows VisualC++ version)” so I knew it was a MSVC build :slight_smile:
[/quote]

I saw that too. :slight_smile: I knew you knew what you were doing. :slight_smile: