模块计算机类型“ARM”与目标计算机类型“X86”冲突

本文主要介绍了在编程过程中遇到的模块计算机类型ARM与目标计算机类型X86冲突的问题,提供了LNK2001错误的解决办法,并详细解释了如何通过调整链接器设置或添加SDK来解决冲突。同时,还提到了TRACE报错和fopen_s标识符未找到的错误解决方案,以及DLL部署的相关注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.error LNK2001: 无法解析的外部符号 CLSID_ImagingFactory 和 IID_IImagingFactory

.h文件添加:#include <imaging.h>
.cpp文件添加:
#include <initguid.h>
#include <imgguids.h>

imgguids.h里加上:

#pragma  once
#include <initguid.h>
#include <Imaging.h>

 

其他两个头文件也加上#pragma  once

-----------------

2. fatal error LNK1112: 模块计算机类型“ARM”与目标计算机类型“X86”冲突

解决方法:链接器 -> 命令行 -> 附加选项, 添加 /MACHINE:ARM /MACHINE:THUMB

fatal error LNK1112: 模块计算机类型“THUMB”与目标计算机类型“ARM”冲突

解决方法:

第1种:链接器 -> 命令行 -> 附加选项, 添加 /MACHINE:THUMB

第2种:新建项目时,在"平台"->"选择要添加到当前项目中的 Platform SDK。"中,把"已安装的 SDK"全部添加到"选定的 SDK"

如果是直接使用已经创建好的工程,那么第一种方法就可以解决了,实在不行,就只有采用第二种办法从头解决了 。

==============================================================

3.使用TRACE总是提示:"CrtDbgReport: String too long or IO Error"

加上setlocale( LC_CTYPE, "chs" );

==================================================================

4.tinyxml.cpp(43) : error C3861: 'fopen_s': identifier not found

解决方法:
1. 在工程->属性->C++->Preprocessor->Preprocessor Definition里面添加"_LIB;"
如果想用STL的TinyXML的话,添加上TIXML_USE_STL
2. 在tinystr.h和tinyxml.h里面第一行添加:
#define _MSC_VER        1
这样TinyXML就会调用C标准库了,不会使用CRT.

转:[url]http://www.devdiv.net/viewthread-23771[/url]
------------------------------------------------------
部署dll:

msvcr80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0
atl80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0
msvcr80d.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0
MFC80UD.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0
DllGUI.dll|$(OutDir)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0
UI.xml|$(OutDir)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值