fatal error C1189: #error 错误解决方案

前几天在windows 7上配置openface时发生了一个小问题,调试很久都没成功,错误如下:

fatal error C1189: #error :  TBB is unable to run on old Windows versions;_WIN32_WINNT must be 0x0501 or greater.

我一直以为是openface依赖的第三方库tbb库的版本存在问题,就下载了好几个不同版本的TBB库,配置之后发现都不行,依然存在调试错误,在网上找了都没有相关问题的解决办法,于是翻墙谷歌,在stackflow上找了一些办法,照着上面的方法修改之后问题就得到了完美的解决了,借此记录一下调试错误的解决办法。

如果在调试程序的过程中出现上述问题,可以按照如下方法进行解决:
1.找到如下文件夹包含的头文件;

..\include\tbb\internal\_tbb_windef.h

2.找到_tbb_windef.h文件中如下部分内容:

#ifdefined(_WIN32_WINNT) && _WIN32_WINNT<0x0501

#error TBB isunable to run on old Windows versions; _WIN32_WINNT must be 0x0501 or greater.

#endif


3.将上面的内容修改成如下所示:

#ifdefined(_WIN32_WINNT_WINXP) && _WIN32_WINNT<0x0501

#error TBB isunable to run on old Windows versions; _WIN32_WINNT must be 0x0501 or greater.

#endif


修改完程序之后,再对程序进行调试,应该就不会再出现上述的问题。


在 Visual Studio 中使用 OpenSSL 时,出现 "fatal error C1189: #error: "No Target Architecture"" 错误通常是因为没有为 OpenSSL 指定目标架构。 下面是解决这个问题的步骤: 1. 确保你已经正确地配置了 OpenSSL 。这包括将 OpenSSL 头文件和文件添加到你的项目中。你可以通过设置 "附加包含目录" 和 "附加目录" 来完成这一步骤。 2. 打开 Visual Studio,并打开你的项目。 3. 在 "解决方案资源管理器" 中,右键单击你的项目,然后选择 "属性"。 4. 在属性页中,选择 "配置属性" > "常规"。 5. 在 "目标架构" 下拉菜单中,确保选择了适合你的目标架构。常见的选项包括 x86(32位应用程序)、x64(64位应用程序)和 Any CPU(根据运行环境自动选择)。 6. 在同一属性页中,找到 "C/C++" > "常规" > "附加包含目录"。点击编辑,并添加 OpenSSL 头文件的路径。这通常是包含 "openssl" 文件夹的路径。 7. 在同一属性页中,找到 "链接器" > "常规" > "附加目录"。点击编辑,并添加 OpenSSL 文件的路径。这通常是包含 OpenSSL 文件的路径。 8. 确认更改后,点击 "应用" 或 "确定",然后重新编译你的项目。 如果问题仍然存在,请确保你使用的 OpenSSL 与你的目标架构兼容。例如,如果你选择了 x64 架构,则需要使用与 x64 架构兼容的 OpenSSL 。 如果上述解决方案都没有解决问题,请提供更多关于你的项目、编译环境和具体错误信息的细节,以便我能够更好地帮助你解决问题。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值