【问题标题】:LNK1112 on Directshow C++ CLR projectLNK1112 上 Directshow C++ CLR 项目
【发布时间】:2012-05-08 22:46:47
【问题描述】:

我正在尝试从 C++ 重建 CLR C++ 中的程序,但出现链接器错误

1>strmbasd.lib(strmiids.obj) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'

我的项目设置为 Win32,属性设置为目标机器 x86。我一直在重建基类以匹配 Win32,但我不知道它在哪里或为什么会失败

链接器命令行如下:

/OUT:"C:\Users\ME\Documents\Code\X C++\Trial2\DirectshowC++\Debug\DirectshowC++.exe" /INCREMENTAL /NOLOGO /MANIFEST /MANIFESTFILE:"Debug\DirectshowC++.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /ASSEMBLYDEBUG /PDB:"C:\Users\ME\Documents\Code\X C++\Trial2\DirectshowC++\Debug\DirectshowC++.pdb" /SUBSYSTEM:WINDOWS /ENTRY:"main" /DYNAMICBASE /FIXED:No /NXCOMPAT /MACHINE:X86 /ERRORREPORT:PROMPT strmiids.lib strmbasd.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

【问题讨论】:

    标签: c++ clr directshow


    【解决方案1】:

    我会尝试添加“C:\Program Files\Microsoft SDKs\Windows\v6.0\Lib\x86”作为链接器路径选项的第一个条目。显然,您应该修复路径以匹配系统上已安装的文件夹。

    【讨论】:

    • 我只有 5.0、6.0a、7.0、7.0a、7.1,而且它们的 lib 文件夹中都只有 x64 或 IA64
    • 我不确定新的 SDK Web 安装程序是如何工作的,但您可能需要明确引入 x86 组件。再次尝试运行this,看看是否可以找到任何补充选项。
    • 我运行它并没有安装任何东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 2010-10-29
    相关资源
    最近更新 更多