首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的项目在vs2008中编译时没有出现任何问题,但在2010年没有出现问题?

我的项目在vs2008中编译时没有出现任何问题,但在2010年没有出现问题?
EN

Stack Overflow用户
提问于 2011-08-14 01:04:02
回答 1查看 5.4K关注 0票数 2

我有一个C++项目,它可以在2008年编译得很好,但在2010年就不能编译了。

在2010年,如果我将字符集更改为多字节,它将被编译,但是没有字符串可以正确地描述它发生了什么,如果我不更改它,下面的代码错误和警告就会出现。

在2008年,它的编译和工作都很好,没有任何问题。

我在C++方面不是很聪明,所以如果可能的话,一个尽可能详细的易于理解的回复将非常有助于我理解正在发生的事情以及可能的修复方法。

以下是不是多字节时的错误和警告:

代码语言:javascript
运行
复制
    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++项目文件:

代码语言:javascript
运行
复制
<?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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-14 01:10:34

您的代码似乎不能与UNICODE字符串一起使用。因此,您应该检查您的项目设置,并在“常规”部分验证您使用的是哪个“字符集”。我想你有“使用Unicode字符集”,但你需要把它改成“未设置”。“使用多字节字符集”是不一样的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7051988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档