我在 32 位 XP 操作系统上使用 VS 2003 .Net。我还在我的机器上安装了“Microsoft Platform SDK”。我可以构建针对 64 位操作系统的 vc++ 应用程序(二进制文件)吗?

我正在使用以下项目选项:

    Name="VCLinkerTool"
    AdditionalOptions="/machine:AMD64 bufferoverflowU.lib"
    OutputFile="\bin\Release\MM64.dll"
    LinkIncremental="1"
    SuppressStartupBanner="TRUE"
    AdditionalLibraryDirectories=""C:\Program Files\Microsoft Platform SDK\Lib\AMD64""
    GenerateDebugInformation="TRUE"
    ProgramDatabaseFile="\bin\Release\MM64.pdb"
    GenerateMapFile="TRUE"
    MapFileName="\bin\Release\MM64.map"
    MapExports="TRUE"
    MapLines="TRUE"
    OptimizeReferences="2"
    EnableCOMDATFolding="2"
    ImportLibrary=".\Release/MM64.lib"
    TargetMachine="0"/>

我收到以下错误:
fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'AMD64'

我需要在 64 位操作系统上构建项目还是需要更改项目设置来解决此错误。
请帮我解决这个问题。

最佳答案

我今天遇到了同样的问题,这是我解决它的方法(在 Visual Studio 2008 中):
转到项目属性 -> 链接器 -> 命令行 -> 附加选项并从链接器附加选项中删除/MACHINE:I386。

希望能帮助到你

关于visual-c++ - 致命错误 LNK1112 : module machine type 'X86' conflicts with target machine type 'AMD64' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2559358/

10-09 01:21
查看更多