Has anyone tried to compile OpenSG on Windows XP x64 Edition using Visual Studio 2005? I have built OpenSG from source many times on Linux and on Mac OS X, but I am new to building it on Windows. After tweaking acinclude.m4 to be able to detect a Visual Studio 2005 Beta 2 installation on Win64, I was able to get the configure script to run using the following command:
./configure --prefix=BUILD --with-compiler=cl.net2005 \
--host=x86_64-pc-cygwin
When I try to run make, I get nothing but errors complaining that there are
no targets to build the .obj files required by the .dll files. I looked
through Common/DefaultRules.mk and didn't see any obvious reason why the
various rules for compiling .obj files weren't working. I have attached the
file generated by configure that sets up the platform-specific build
information in case it is helpful.
I did try using the Visual Studio 7 build in VSBuild/VS7. I converted it to
work with Visual Studio 8 and added the x64 platform configuration. That
build fails when trying to link OSGBase.dll due to unresolved
OSG::SharedObjectHandler symbols. My assumption with that is that the
Visual Studio 7 build is out of sync with the source tree, but I don't know
that for a fact.
Does anyone have any suggestions on how I should proceed with this? Thanks
in advance.
-Patrick
--
Patrick L. Hartling | VP Engineering, Infiscape Corp.
PGP: http://tinyurl.com/2msw3 | http://www.infiscape.com/
### Binaries #######################################################
CC_PATH := /cygdrive/c/Program Files (x86)/Microsoft Visual Studio
8/Vc/bin/amd64
CC := "$(CC_PATH)/cl.exe"
LD_SHARED := "$(CC_PATH)/link.exe" -dll -map
LD_LNK := "$(CC_PATH)/link" -lib -NODEFAULTLIB
RANLIB :=
LD := "$(CC_PATH)/link.exe"
FLEX := flex.exe
BISON := bison.exe
SUB_MAKE := make
LINK := cp
SED := sed
### Patterns #########################################################
ifeq ($(OS_BASE), cygwin)
ifneq ($(DBGCMDGOAL),)
$(warning Detected OPT)
DEBUG_CHAR:=
else
$(warning Detected DBG)
DEBUG_CHAR:=D
endif
endif
COMPILER_LOGO :=
PEDANTIC_ERRORS := 0
SO_PRAEFIX :=
SO_SEARCH_SUFFIX := .dll
SO_SUFFIX := $(DEBUG_CHAR).dll
LIB_SEARCH_SUFFIX := .lib
LIB_SUFFIX := $(DEBUG_CHAR).lib
LNK_LIB_SUFFIX := $(DEBUG_CHAR)Lnk.lib
OBJ_SUFFIX := .obj
EXE_SUFFIX := .exe
OS_BASE := cygwin
OS_BUILD_BASE := x86_64-pc-cygwin
OS_CMPLR := cl.net
OS_CMPLR_DEF := cl.net2005.ms_stl
LIBDIR_BASE := lib
OBJDIR_BASE := obj
EXEDIR_BASE := exe
TEST_SRC_PATTERN := test%.cpp
INC_OPTION := -I
MAK_SUFFIX := .mk
DEP_SUFFIX := .d
INCL_$(OS_BASE) :=
INCL_EXP_$(OS_BASE) :=
LIBS_$(OS_BASE) :=
OSG_LIB_EXT :=
CONFIGURED_QT :=0
CONFIGURED_GLUT :=0
CONFIGURED_STLPORT :=0
CONFIGURED_GLUT :=0
CONFIGURED_JPG :=0
CONFIGURED_TIF :=0CommonConf/
CONFIGURED_PNG :=0
CONFIGURED_MNG :=0
CONFIGURED_FREETYPE :=0
CONFIGURED_TEXT :=0
CONFIGURED_PACKAGE_DEFS :=
CONFIGURED_GVBETA :=0
### BASE DIRS #########################################################
INCL_$(OS_BASE) := $(INC_OPTION)"..\Base" $(INCL_$(OS_BASE))
LIBS_$(OS_BASE) := user32.lib kernel32.lib MSVCPRT$(DEBUG_CHAR).lib
MSVCRT$(DEBUG_CHAR).lib winmm.lib wsock32.lib
INCLUDE_SYSTEM := "c:\Program Files (x86)\Microsoft Visual Studio 8\Vc\include"
LINK_SYSTEM := "c:\Program Files (x86)\Microsoft Visual Studio 8\Vc\lib"
ADD_INCLUDE :=
ADD_LINK :=
ADD_LIBS :=
INCLUDE_MPATROL :=
LINK_MPATROL :=
LIB_MPATROL :=
include
/home/Administrator/src/OpenSG-cvs/Builds/x86_64-pc-cygwin-cl.net2005/CommonPackages/commonSTL.mk
LINK_COMPILER := "c:\Program Files (x86)\Microsoft Visual Studio 8\Vc\lib"
ifneq ($(INCLUDE_SYSTEM),)
INCL_$(OS_BASE) := $(INCL_$(OS_BASE)) $(INC_OPTION)$(INCLUDE_SYSTEM)
endif
ifneq ($(LINK_SYSTEM),)
LIBPATHS_$(OS_BASE) := $(LIBPATH_OPTION)$(LINK_SYSTEM) $(LIBPATHS_$(OS_BASE))
endif
ifneq ($(LINK_COMPILER),)
LIBPATHS_$(OS_BASE) := $(LIBPATH_OPTION)$(LINK_COMPILER) $(LIBPATHS_$(OS_BASE))
endif
ifneq ($(INCLUDE_MPATROL),)
INCL_$(OS_BASE) := $(INCL_$(OS_BASE)) $(INC_OPTION)$(INCLUDE_MPATROL)
endif
ifeq ($(IN_TEST_DIR),1)
ifneq ($(LINK_MPATROL),)
LIBPATHS_$(OS_BASE) := $(LIBPATH_OPTION)$(LINK_MPATROL) $(LIBPATHS_$(OS_BASE))
endif
ifneq ($(LB_MPATROL),)
LIBS_$(OS_BASE) := $(LIBLNK_OPTION)$(LIB_MPATROL) $(LIBS_$(OS_BASE))
endif
endif
#########################################################################
# Build include directive
#########################################################################
ifeq ($(OS_BASE), cygwin)
ifeq ($(OS_CMPLR),g++)
buildCIncPath = $(INC_OPTION)$(1)
else
buildCIncPath = $(INC_OPTION)"$(shell cygpath -w $(1))"
endif
else
buildCIncPath = $(INC_OPTION)$(1)
endif
ifeq ($(OS_BASE), cygwin)
buildCLibPath = $(LIBPATH_OPTION)"$(shell cygpath -w $(1))"
else
buildCLibPath = $(LIBPATH_OPTION)$(1)
endif
ifneq ($(ADD_INCLUDE),)
ADD_INCLUDE := $(subst :, ,$(ADD_INCLUDE))
ADD_INCL_$(OS_BASE) := \
$(foreach dir,$(ADD_INCLUDE),$(call buildCIncPath,$(dir)))
INCL_$(OS_BASE) := $(INCL_$(OS_BASE)) $(ADD_INCL_$(OS_BASE))
endif
ifneq ($(ADD_LINK),)
ADD_LINK := $(subst :, ,$(ADD_LINK))
ADD_LIBPATHS_$(OS_BASE) := \
$(foreach dir,$(ADD_LINK),$(call buildCLibPath,$(dir)))
LIBPATHS_$(OS_BASE) := $(LIBPATHS_$(OS_BASE)) $(ADD_LIBPATHS_$(OS_BASE))
endif
ifneq ($(ADD_LIBS),)
ADD_LIBS := $(subst :, ,$(ADD_LIBS))
ifeq ($(OS_BASE),cygwin)
ADD_LIBS_$(OS_BASE) := $(foreach lib,$(ADD_LIBS),$(lib)$(LIB_SUFFIX))
else
ADD_LIBS_$(OS_BASE) := $(foreach lib,$(ADD_LIBS),$(LIBLNK_OPTION)$(lib))
endif
LIBS_$(OS_BASE) := $(ADD_LIBS_$(OS_BASE)) $(LIBS_$(OS_BASE))
endif
LIBS_$(OS_BASE) := $(LIBS_$(OS_BASE)) $(ADD_OS_LIB)
signature.asc
Description: OpenPGP digital signature
