开发者

My project compiles in vs2008 without a single issue but does not in 2010?

开发者 https://www.devze.com 2023-03-28 02:50 出处:网络
I have a C++ project that will compile just fine in 2008 and in 2010 it just won\'t compile. In 2010 if I change it the character set to multibyte it will compile but no strings work properly can exa

I have a C++ project that will compile just fine in 2008 and in 2010 it just won't compile.

In 2010 if I change it the character set to multibyte it will compile but no strings work properly can exactly describe what happens to it, if I don't change it the below code errors and warns show up.

In 2008 it compiles and works just fine without a single issue.

I am not very bright in C++ so if possible a easy to understand response as detailed as possible would help me very much to understand what is going on and possible fix it.

Here are the errors and warns when it is not in multibyte:

    12  IntelliSense: argument of type "char *" is incompatible with parameter of type "LPCWSTR"
    13  IntelliSense: argument of type "char *" is incompatible with parameter of type "LPCWSTR"
Error   10  error C2664: 'URLDownloadToFileW' : cannot convert parameter 2 from 'char [255]' to 'LPCWSTR'
Error   2   error C2664: 'strcmp' : cannot convert parameter 1 from 'WCHAR [256]' to 'const char *'
Error   3   error C2664: 'SetConsoleTitleW' : cannot convert parameter 1 from 'const char [11]' to 'LPCWSTR'
Error   4   error C2664: 'GetModuleHandleW' : cannot convert parameter 1 from 'const char [9]' to 'LPCWSTR'
Error   5   error C2664: 'GetModuleHandleW' : cannot convert parameter 1 from 'const char [9]' to 'LPCWSTR'
Error   11  error C2664: 'GetModuleHandleW' : cannot convert parameter 1 from 'const char [15]' to 'LPCWSTR'
Error   6   error C2664: 'CreateEventW' : cannot convert parameter 4 from 'const char [20]' to 'LPCWSTR'
Error   9   error C2664: 'CCmdHandler::AddMessageBytes' : cannot convert parameter 1 from 'TCHAR *' to 'char *'
Error   7   error C2440: 'initializing' : cannot convert from 'const char [16]' to 'LPTSTR'
Error   8   error C2440: 'initializing' : cannot convert from 'const char [16]' to 'LPTSTR'
Error   1   error C2440: '<function-style-cast>' : cannot convert from 'WCHAR [256]' to 'std::string'

C++ project file:

<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
    ProjectType="Visual C++"
    Version="9.00"
    Name="TheProject"
    ProjectGUID="{96791392-AA33-4460-BFEA-D766216ECAA8}"
    RootNamespace="TheProject"
    Keyword="Win32Proj"
    TargetFrameworkVersion="196613"
    >
    <Platforms>
        <Platform
            Name="Win32"
        />
    </Platforms>
    <ToolFiles>
    </ToolFiles>
    <Configurations>
        <Configuration
            Name="Debug|Win32"
            OutputDirectory="$(SolutionDir)$(ConfigurationName)"
            IntermediateDirectory="$(ConfigurationName)"
            ConfigurationType="2"
            CharacterSet="1"
            >
            <Tool
                Name="VCPreBuildEventTool"
            />
            <Tool
                Name="VCCustomBuildTool"
            />
            <Tool
                Name="VCXMLDataGeneratorTool"
            />
            <Tool
                Name="VCWebServiceProxyGeneratorTool"
            />
            <Tool
                Name="VCMIDLTool"
            />
            <Tool
                Name="VCCLCompilerTool"
                Optimization="0"
                PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;THEPROJECT_EXPORTS;LOGTOCONSOLE"
                MinimalRebuild="true"
                BasicRuntimeChecks="3"
                RuntimeLibrary="3"
                UsePrecompiledHeader="2"
                WarningLevel="3"
                DebugInformationFormat="4"
            />
            <Tool
                Name="VCManagedResourceCompilerTool"
            />
            <Tool
                Name="VCResourceCompilerTool"
            />
            <Tool
                Name="VCPreLinkEventTool"
            />
            <Tool
                Name="VCLinkerTool"
                LinkIncremental="2"
                GenerateDebugInformation="true"
                SubSystem="2"
                TargetMachine="1"
            />
            <Tool
                Name="VCALinkTool"
            />
            <Tool
                Name="VCManifestTool"
            />
            <Tool
                Name="VCXDCMakeTool"
            />
            <Tool
                Name="VCBscMakeTool"
            />
            <Tool
                Name="VCFxCopTool"
            />
            <Tool
                Name="VCAppVerifierTool"
            />
            <Tool
                Name="VCPostBuildEventTool"
            />
        </Configuration>
        <Configuration
            Name="Release|Win32"
            OutputDirectory="$(SolutionDir)$(ConfigurationName)"
            IntermediateDirectory="$(ConfigurationName)"
            ConfigurationType="2"
            CharacterSet="2"
            WholeProgramOptimization="1"
            >
            <Tool
                Name="VCPreBuildEventTool"
            />
            <Tool
                Name="VCCustomBuildTool"
            />
            <Tool
                Name="VCXMLDataGeneratorTool"
            />
            <Tool
                Name="VCWebServiceProxyGeneratorTool"
            />
            <Tool
                Name="VCMIDLTool"
            />
            <Tool
                Name="VCCLCompilerTool"
                AdditionalOptions="-D_SCL_SECURE_NO_WARNINGS"
                Optimization="0"
                InlineFunctionExpansion="1"
                EnableIntrinsicFunctions="true"
                FavorSizeOrSpeed="1"
                AdditionalIncludeDirectories="&quot;C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include&quot;"
                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;THEPROJECT_EXPORT;LOGTOCONSOLE"
                ExceptionHandling="2"
                RuntimeLibrary="2"
                BufferSecurityCheck="false"
                EnableFunctionLevelLinking="false"
                UsePrecompiledHeader="2"
                WarningLevel="3"
                DebugInformationFormat="3"
            />
            <Tool
                Name="VCManagedResourceCompilerTool"
            />
            <Tool
                Name="VCResourceCompilerTool"
            />
            <Tool
                Name="VCPreLinkEventTool"
            />
            <Tool
                Name="VCLinkerTool"
                LinkIncremental="1"
                AdditionalLibraryDirectories="..\lib"
                GenerateDebugInformation="false"
                SubSystem="2"
                OptimizeReferences="2"
                EnableCOMDATFolding="2"
                TargetMachine="1"
            />
            <Tool
                Name="VCALinkTool"
            />
            <Tool
                Name="VCManifestTool"
            />
            <Tool
                Name="VCXDCMakeTool"
            />
            <Tool
                Name="VCBscMakeTool"
            />
            <Tool
                Name="VCFxCopTool"
            />
            <Tool
                Name="VCAppVerifierTool"
            />
            <Tool
                Name="VCPostBuildEventTool"
            />
        </Configuration>
    </Configurations>
    <References>
    </References>
    <Files>
        <Filter
            Name="Quelldateien"
            Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
            UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
            >
            <File
                RelativePath=".\CmdHandler.cpp"
                >
            </File>
            <File
                RelativePath=".\ConsoleCMD.cpp"
                >
            </File>
            <File
                RelativePath=".\dllmain.cpp"
                >
                <FileConfiguration
                    Name="Debug|Win32"
                    >
                    <Tool
                        Name="VCCLCompilerTool"
                        UsePrecompiledHeader="0"
                        CompileAsManaged="0"
                    />
                </FileConfiguration>
                <FileConfiguration
                    Name="Release|Win32"
                    >
                    <Tool
                        Name="VCCLCompilerTool"
                        UsePrecompiledHeader="0"
                        CompileAsManaged="0"
                    />
                </FileConfiguration>
            </File>
            <File
                RelativePath=".\EntiyManager.cpp"
                >
            </File>
            <File
                RelativePath=".\ICommand.cpp"
                >
            </File>
            <File
                RelativePath=".\MiscManager.cpp"
                >
            </File>
            <File
                RelativePath=".\PipeProtocol.cpp"
                >
            </File>
            <File
                RelativePath=".\Pipes.cpp"
                >
            </File>
            <File
                RelativePath=".\stdafx.cpp"
                >
                <FileConfiguration
                    Name="Debug|Win32"
                    >
                    <Tool
                        Name="VCCLCompilerTool"
                        UsePrecompiledHeader="1"
                    />
                </FileConfiguration>
                <FileConfiguration
                    Name="Release|Win32"
                    >
                    <Tool
                        Name="VCCLCompilerTool"
                        UsePrecompiledHeader="1"
                    />
                </FileConfiguration>
            </File>
        </Filter>
        <Filter
            Name="Headerdateien"
            Filter="h;hpp;hxx;hm;inl;inc;xsd"
            UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
            >
            <File
                RelativePath=".\CmdHandler.h"
                >
            </File>
            <File
                RelativePath=".\CommandIDList.h"
                >
            </File>
            <File
                RelativePath=".\ConsoleCMD.h"
                >
            </File>
            <File
                RelativePath=".\detours.h"
                >
            </File>
            <File
                RelativePath=".\EntiyManager.h"
                >
            </File>
            <File
                RelativePath=".\hide.h"
                >
            </File>
            <File
                RelativePath=".\ICommand.h"
                >
            </File>
            <File
                RelativePath=".\IOnFrameClient.h"
                >
   开发者_开发百科         </File>
            <File
                RelativePath=".\Log.h"
                >
            </File>
            <File
                RelativePath=".\MiscManager.h"
                >
            </File>
            <File
                RelativePath=".\PipeProtocol.h"
                >
            </File>
            <File
                RelativePath=".\Pipes.h"
                >
            </File>
            <File
                RelativePath=".\stdafx.h"
                >
            </File>
            <File
                RelativePath=".\targetver.h"
                >
            </File>
        </Filter>
        <Filter
            Name="Ressourcendateien"
            Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
            UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
            >
        </Filter>
        <File
            RelativePath=".\ReadMe.txt"
            >
        </File>
    </Files>
    <Globals>
    </Globals>
</VisualStudioProject>


Your code seems not be written to work with UNICODE strings. So you should examine your project settings and verify in the "General" part which "Character Set" you use. I suppose you have "Use Unicode Character Set", but you need to change it to "Not Set". "Use Multi-Byte Character Set" is not the same.

0

精彩评论

暂无评论...
验证码 换一张
取 消