在64位visual studio 9.0 sp1中编译时获得异常

时间:2015-06-15 04:57:17

标签: visual-studio-2008

我在64位编译cpp代码时遇到异常,同样的代码在用32位编译时工作正常。

我正在使用“Microsoft Visual Studio 9.0 sp1”

我得到的错误是:

  

cl.exe / Zi / D“WIN32”/ D“_WINDOWS”/ D“_USRDLL”/ D“_WINDLL”/ D   “_MBCS”/ D“UNICODE”/ EHsc / TP / nologo / c /Foobjs\DLLVersionCheck.obj   / MT -Iinclude -I“C:\ Program Files \ j2sdk1.4.1_02 \ include”-I“C:\ Program   Files \ j2sdk1.4.1_02 \ include \ win32“/ Tp src \ DLLVersionCheck.cpp   DLLVersionCheck.cpp

     

C:\ Program Files(x86)\ Microsoft Visual Studio   9.0 \ VC \ INCLUDE \ crtdefs.h(560):错误C2485:'已弃用':无法识别的扩展属性

     

C:\ Program Files(x86)\ Microsoft   Visual Studio 9.0 \ VC \ INCLUDE \ stdio.h(237):错误C2485:'已弃用'   :无法识别的扩展属性

     

C:\ Program Files(x86)\ Microsoft   Visual Studio 9.0 \ VC \ INCLUDE \ stdio.h(252):错误C2485:'已弃用'   :无法识别的扩展属性

     

C:\ Program Files(x86)\ Microsoft   Visual Studio 9.0 \ VC \ INCLUDE \ stdio.h(256):错误C2485:'已弃用'   :无法识别的扩展属性

     

C:\ Program Files(x86)\ Microsoft   Visual Studio 9.0 \ VC \ INCLUDE \ stdio.h(257):错误C2485:'已弃用'   :无法识别的扩展属性

     

C:\ Program Files(x86)\ Microsoft   Visual Studio 9.0 \ VC \ INCLUDE \ stdio.h(259):警告C4616:#pragma   警告:警告号码'6530'超出范围,必须介于'4001'之间   和'4999'

     

C:\ Program Files(x86)\ Microsoft Visual Studio   9.0 \ VC \ INCLUDE \ stdio.h(278):错误C2265:'':对零大小数组的引用是非法的

     

C:\ Program Files(x86)\ Microsoft Visual   Studio 9.0 \ VC \ INCLUDE \ stdio.h(279):警告C4003:实际不够   宏'__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0_EX'的参数

     

C:\ Program Files(x86)\ Microsoft Visual Studio   9.0 \ VC \ INCLUDE \ stdio.h(279):警告C4003:宏'_CRT_INSECURE_DEPRECATE'的实际参数不够

     

C:\ Program Files   (x86)\ Microsoft Visual Studio 9.0 \ VC \ INCLUDE \ stdio.h(279):错误   C2485:'已弃用':无法识别的扩展属性

     

C:\ Program Files   (x86)\ Microsoft Visual Studio 9.0 \ VC \ INCLUDE \ stdio.h(279):错误   C2144:语法错误:缺少';'在输入'char'之前

     

C:\ Program Files   (x86)\ Microsoft Visual Studio 9.0 \ VC \ INCLUDE \ stdio.h(279):错误   C2501:'gets':缺少存储类或类型说明符

     

C:\程序   文件(x86)\ Microsoft Visual Studio 9.0 \ VC \ INCLUDE \ stdio.h(279):   致命错误C1004:发现文件意外结束NMAKE:致命错误   U1077:'cl.exe':返回代码'0x2'停止。

我正在使用makefile来复制此代码:

# ------------- Directory path for source files -------------
SRC_DIR=src

# ------------- Directory Path for header files -------------
INC_DIR=include

# ------------- Directory Path for object files -------------
OBJ_DIR=objs

# ------------- Directory Path for binary files -------------
DLL_DIR=dll

# ------------- Include directories -------------------
INC= -I$(INC_DIR) -I"$(JAVA_HOME)\include" -I"$(JAVA_HOME)\include\win32" 

# ------------- Other Included Libraries -------------------
OTHER_INC=advapi32.lib shell32.lib version.lib Msi.lib

# ------------- Compiler to compile source files ------------
COMPILER=cl.exe

# ------------- Compiler options -------------
COMP_OPT1= /Zi /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "_WINDLL" /D "_MBCS" /D "UNICODE" /EHsc \
         /TP /nologo /c /Fo$@ /MT

# ----------- Linker name to create executable ---------
LINKER_NAME=link.exe

# -------------- Linker Options -------------
LINKER_OPT=/NOLOGO /DLL /SUBSYSTEM:CONSOLE /OUT:$@

all: make_dir $(DLL_DIR)\ManageEngineExDLLVersionCheck.dll

clean: clean_dll

make_dir:
    - mkdir $(DLL_DIR)
    - mkdir $(OBJ_DIR)

clean_dll:
    - rm -rf $(DLL_DIR)
    - rm -rf $(OBJ_DIR)

# ------------- Compilation commands -------------

$(OBJ_DIR)\DLLVersionCheck.obj: $(SRC_DIR)\DLLVersionCheck.cpp
    $(COMPILER) $(COMP_OPT1) $(INC) /Tp $(SRC_DIR)\DLLVersionCheck.cpp

$(OBJ_DIR)\ManageEngineExDLLVersionCheck.obj: $(SRC_DIR)\ManageEngineExDLLVersionCheck.cpp
    $(COMPILER) $(COMP_OPT1) $(INC) /Tp $(SRC_DIR)\ManageEngineExDLLVersionCheck.cpp


$(OBJ_DIR)\*.obj:       $(OBJ_DIR)\DLLVersionCheck.obj \
                $(OBJ_DIR)\ManageEngineExDLLVersionCheck.obj
$(DLL_DIR)\ManageEngineExDLLVersionCheck.dll: $(OBJ_DIR)\*.obj
    $(LINKER_NAME) $(LINKER_OPT)    \
                $(OBJ_DIR)\DLLVersionCheck.obj \
                $(OBJ_DIR)\ManageEngineExDLLVersionCheck.obj \
                $(OTHER_INC)


#*************************************************************************
#                           End of Makefile
#*************************************************************************

0 个答案:

没有答案
相关问题