Есть ли способ сказать Visual Studio 2010 (или Visual Studio 11 Developer Preview) использовать исходный файл?
Существуют ли какие-либо инструменты для преобразования из nmake / dirs / sources в MSBuild?
Я действительно хочу использовать инструменты анализа кода Visual Studio 11 Preview Preview для очень старого решения C ++, которое в настоящее время даже близко не подходит для возможности компиляции в Visual Studio.
Вот пример одного из множества исходных файлов:
!INCLUDE $(INETROOT)\build\paths.all
!INCLUDE $(INETROOT)\build\sources.all
TARGETNAME=CSDWCtlg
TARGETTYPE=DYNLINK
DLLENTRY=DllMainCRTStartupCustom
DLLDEF=
USE_NATIVE_EH=1
NO_NTDLL=1
NTTARGETFILE0=$(EXPORTED_FILES)
INCLUDES= \
$(INCLUDES); \
$(SDK_INC_PATH); \
$(ATL_INC_PATH); \
$(CSSTORAGE)\inc; \
$(CSSTORAGE)\util\inc; \
$(CSSTORAGE)\dbg; \
$(CSSTORAGE)\msg; \
$(CSSTORAGE)\intf\idl; \
$(CSSTORAGE)\ctlg; \
$(CSSTORAGE)\provider; \
$(CSSTORAGE)\dsproviders\inc\; \
$(CSCOMMON)\rockall4\Build\Rockall\Include; \
$(CSCOMMON)\rockall4\Code\Rockall\Interface; \
$(CSCOMMON)\kbase; \
$(CSCOMMON)\inc; \
# goes to both RC compiler and C compiler
# RUN_WPP=$(SOURCES) -func:{LEVEL=Error}ErrorTrace(ERR,MSG,...) -func:{LEVEL=Debug}DebugTrace(DBG,MSG,...)
C_DEFINES=$(C_DEFINES) /D_UNICODE /DUNICODE /DPROJ_METABASE /DCSTRACE_CSDWCTLG /D_CTLG_DIAGNOSTIC#1
USER_C_FLAGS=$(USER_C_FLAGS) -D_CTLG_DIAGNOSTIC=1 -GR -D_WIN32_WINNT=0x0500 -DOLEDBVER=0x0250
# check for 64-bit compatiblitly
!if "$(PROCESSOR_ARCHITECTURE)"=="x86"
USER_C_FLAGS = $(USER_C_FLAGS) /Wp64
!endif
# The line below includes the common build flags.
# It modifies the USER_C_FLAGS variable by appending the 'project' level flags.
# Be sure to use the syntax USER_C_FLAGS=$(USER_C_FLAGS) 'flags' if you use USER_C_FLAGS after this include.
!INCLUDE $(CSSTORAGE)\inc\userFlags$(DCRT).inc
USE_MSVCRT=1
PRECOMPILED_CXX=1
PRECOMPILED_INCLUDE=pch.hpp
PRECOMPILED_PCH=pch_hpp.pch
PRECOMPILED_OBJ=pch_hpp.obj
SOURCES=\
csdwctlg.rc \
pch.cpp \
dll.cpp \
crow.cpp \
ctlgdump.cpp \
ctlghandler.cpp \
ctlgobj.cpp \
ctlgobjaccess.cpp \
ctlgobjclsdef.cpp \
ctlgobjdefs.cpp \
ctlgobjget.cpp \
ctlgobjkeydef.cpp \
ctlgobjmemdef.cpp \
ctlgobjrel.cpp \
ctlgobjrow.cpp \
ctlgobjset.cpp \
ctlgobjtbl.cpp \
ctlgobjtbls.cpp \
ctlgobjtypedef.cpp \
ctlgobjview.cpp \
ctlgpersist.cpp \
ctlgresolve.cpp \
ctlgresolve2.cpp \
ctlgpartresolve.cpp \
ctlgaggrresolve.cpp \
ctlgfilterresolve.cpp \
ctlgvalidate.cpp \
expschema.cpp \
mbcatalog.cpp \
mbictlgchg.cpp \
schemamgr.cpp \
sqlpathtrans.cpp \
TARGETLIBS= \
$(DEFAULTLIBS) \
$(SDK_LIB_PATH)\ole32.lib \
$(SDK_LIB_PATH)\oleaut32.lib \
$(SDK_LIB_PATH)\uuid.lib \
$(SDK_LIB_PATH)\urlmon.lib \
$(TARGETPATH)\*\CSDWIntf.lib \
$(TARGETPATH)\*\CSDWUtil.lib \
$(SDK_LIB_PATH)\msi.lib \
$(TARGETPATH)\*\csrockall.lib \
$(TARGETPATH)\*\CSDWSrvrDLL.lib \
$(SDK_LIB_PATH)\Kernel32.lib \
$(SDK_LIB_PATH)\user32.lib \
$(SDK_LIB_PATH)\Advapi32.lib \
$(CRT_LIB_PATH)\oldnames.lib \
$(SDK_LIB_PATH)\atls$(DCRT).lib \
# For Binplacing
MISCFILES= \
.\SCHEMA\* \
Любой совет?
ОБНОВЛЕНИЕ: Я нашел nmake2msbuild.exe , который является частью WDK. Он предназначен для разработки драйверов и конвертирует каталоги и источники в проекты MSBuild . Я не уверен, что это сработает для того, что я должен делать (не для водителей), но я собираюсь попробовать.