From: David Joiner (djoiner_at_kean.edu)
Date: Mon Feb 21 2011 - 21:09:09 CST

Gave up on trying to compile from within a cygwin shell and created an
empty project in Visual C++ 2010, used the generated Makefile to try
and figure out define statements, compiler options, etc.

I've got it down to the following options during linking, any ideas
what I am missing in the MSVC configuration?

1>------ Build started: Project: vmdtest2, Configuration: Release Win32 ------
1>GeometryFltkMenu.obj : error LNK2001: unresolved external symbol
"class Fl_Graphics_Driver * fl_graphics_driver"
(?fl_graphics_driver@@3PAVFl_Graphics_Driver@@A)
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__accept_at_12
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__listen_at_8
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__send_at_16
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__gethostbyname_at_4
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__closesocket_at_4
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__socket_at_12
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__bind_at_12
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__recv_at_16
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__shutdown_at_8
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__htons_at_4
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__select_at_20
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__inet_addr_at_4
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__WSAStartup_at_8
1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__connect_at_12
1>Win32Joystick.obj : error LNK2001: unresolved external symbol
__imp__joyGetNumDevs_at_0
1>Win32Joystick.obj : error LNK2001: unresolved external symbol
__imp__joyGetDevCapsA_at_12
1>Win32Joystick.obj : error LNK2001: unresolved external symbol
__imp__joyGetPosEx_at_8
1>C:\vmd\CVS_VMD\vmd\msvc2010\vmdtest2\Release\vmdtest2.exe : fatal
error LNK1120: 18 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

On Sat, Feb 19, 2011 at 1:07 AM, David Joiner <djoiner_at_kean.edu> wrote:
> MSVC 2010 wouldn't open the 2006 project file, so I tried to make
> similar modifications to the Makefile as used for the WIN32 options in
> the Makefile for plugins.
>
> Everything is compiling to object code w/out errors, but I am getting
> the following errors when linking (I get hundreds of these with each
> file). My guess is that there is some library I am not linking with
> properly but I cannot tell which.
>
> Dave
>
> -----------------------------------------
>
> Animation.o
> Animation.o(1) : error C2018: unknown character '0x1'
> Animation.o(1) : error C2018: unknown character '0x1b'
> Animation.o(1) : error C2018: unknown character '0x19'
> Animation.o(1) : error C2018: unknown character '0x1'
> Animation.o(1) : error C2146: syntax error : missing ';' before
> identifier 'aAY_M8'
> Animation.o(1) : error C4430: missing type specifier - int assumed.
> Note: C++ does not support default-int
> Animation.o(1) : error C2143: syntax error : missing ';' before '.'
> Animation.o(1) : error C4430: missing type specifier - int assumed.
> Note: C++ does not support default-int
>
>
> On Fri, Feb 18, 2011 at 11:19 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
>>
>> David,
>>  Look at the "build.csh" script in the top level plugins directory,
>> and you'll see how I do the Win32 plugin builds on our machines.
>> You can't use cygwin-style paths when you set TCLINC etc, as you
>> are calling the MSVC compilers, which only accept Dos/Windows pathnames...
>>
>> Cheers,
>>  John
>>
>> On Fri, Feb 18, 2011 at 11:10:37PM -0500, David Joiner wrote:
>>> I've done a checkout from CVS, set my environment to allow me to use
>>> cl.exe from within a Cygwin bash shell, and ran "make WIN32" in the
>>> plugins directory. After a few changes to hesstrans/src/include.h
>>> (iostream instead of iostream.h, etc.), I am getting to the point
>>> where I am trying to compile hesstrans, and get the error pasted
>>> below. The error is that I cannot find tcl.h. I am setting TCLINC, and
>>> have checked that the file is where I think it is. I've tried both -I
>>> and /I and have moved everything to a location with no spaces in
>>> directory names.
>>>
>>> -------
>>>
>>> bash-3.2$ make WIN32 TCLINC=" /I/cygdrive/c/VMD/Tcl/include "; ls
>>> /cygdrive/c/VMD/Tcl/include
>>> Building Molecule File Reader plugins
>>> hesstrans_wrap.C
>>> src/hesstrans_wrap.C(298) : fatal error C1083: Cannot open include
>>> file: 'tcl.h': No such file or directory
>>> make[2]: *** [../compile/lib_WIN32/tcl/hesstrans1.0/hesstrans_wrap.o] Error 2
>>> make[1]: *** [dynlibs] Error 1
>>> make: *** [WIN32] Error 2
>>> X11         tclPlatDecls.h     tk.h              tkPlatDecls.h
>>> tcl.h       tclTomMath.h       tkDecls.h         tommath_class.h
>>> tclDecls.h  tclTomMathDecls.h  tkIntXlibDecls.h  tommath_superclass.h
>>> bash-3.2$
>>>
>>> On Fri, Feb 18, 2011 at 4:29 PM, David Joiner <djoiner_at_kean.edu> wrote:
>>> > OK, so I have Tcl and Tk built using MSVC++ 2010 express from the MSVC
>>> > console window using nmake for Tcl, and nmake TCLDIR=(tcl build
>>> > directory) for Tk. I've built FLTK in MSVC++ 2010 Express within the
>>> > IDE and have been able to run the demo program to confirm that it
>>> > runs.
>>> >
>>> > Using fltk-1.3.x-r8441 I had to modify the FL_Device.h file to change
>>> > the definition "friend void gl_start()" to "friend FL_EXPORT void
>>> > gl_start()" to avoid an error with mismatched definitions.
>>> >
>>> > Dave
>>> >
>>> > On Fri, Feb 18, 2011 at 1:29 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
>>> >>
>>> >> David,
>>> >>  You'll need to use MSVC to compile everything.  The cygwin tools will
>>> >> be used during the compile of the VMD plugins, but only for "make", it will
>>> >> actually _run_ the MSVC compilers and not GCC...
>>> >>
>>> >> Cheers,
>>> >>  John
>>> >>
>>> >> On Fri, Feb 18, 2011 at 01:17:38PM -0500, David Joiner wrote:
>>> >>>    I've compiled ball.exe w/ cavelib on my dev machine and ran it on the
>>> >>>    cave. I had to copy the most recent msvcr dll files over, but otherwise
>>> >>>    that worked with no hiccups.
>>> >>>
>>> >>>    I'll work on the dependencies next. Should I build them in msvc or.cygwin?
>>> >>>
>>> >>>    Thanks!
>>> >>>    Dave
>>> >>>
>>> >>>      On Feb 18, 2011 12:57 PM, "John Stone" <johns_at_ks.uiuc.edu> wrote:
>>> >>>
>>> >>>      David,
>>> >>>       I would think that should be workable, although I'm only using
>>> >>>      MSVS 2005 here, due to the need to link against various libraries.
>>> >>>      For your puroses MSVS 2010 might work ok.  Before we get into it,
>>> >>>      I assume for starters that you're able to compile and link CAVElib
>>> >>>      demo apps using MSVS 2010, right?  Since your end-goal is to get
>>> >>>      VMD running with the Windows CAVElib, I'd test to make sure that doesn't
>>> >>>      have any issues with MSVS 2010 first.  If not, then the next thing is
>>> >>>      to get your Tcl/Tk/FLTK builds for Windows going, as you need Tcl
>>> >>>      to be compiled already before you can begin building the VMD plugins.
>>> >>>      See if you can get those steps done first.
>>> >>>
>>> >>>      Cheers,
>>> >>>       John
>>> >>>
>>> >>>      On Thu, Feb 17, 2011 at 08:57:13PM -0500, David Joiner wrote:
>>> >>>      > Sounds fun.
>>> >>>      >
>>> >>>      > Right now I have b...
>>> >>>
>>> >>>      --
>>> >>>
>>> >>>      NIH Resource for Macromolecular Modeling and Bioinformatics
>>> >>>      Beckman Institute for Advanced Science a...
>>> >>
>>> >> --
>>> >> NIH Resource for Macromolecular Modeling and Bioinformatics
>>> >> Beckman Institute for Advanced Science and Technology
>>> >> University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
>>> >> Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
>>> >>  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078
>>> >>
>>> >
>>
>> --
>> NIH Resource for Macromolecular Modeling and Bioinformatics
>> Beckman Institute for Advanced Science and Technology
>> University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
>> Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
>>  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078
>>
>