warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify -GX

本文详细解释了C++中使用/EHsc或/GX进行异常处理的原理,以及如何在Visual Studio环境中设置相关编译选项。同时介绍了从VC6过渡到标准库的写法变化,包括<iostream>和<iomanip>的使用,以及如何在不同场景下选择合适的库文件。

http://bbs.youkuaiyun.com/topics/60195477


这是因为使用了C++异常。/EHsc或/GX,两者是等价的。


exception. It is equivalent to /EHsc.

/GX is in effect, by default, when you compile from within the development environment. By default, /GX- is enabled when using command-line tools.

For more information, see C++ Exception Handling.

To set this compiler option in the Visual Studio development environment 

Open the project's Property Pages dialog box. For details, see Setting Visual C++ Project Properties. 
Click the C/C++ folder. 
Click the Command Line property page. 

Type the compiler option in the Additional Options box. 



http://blog.sina.com.cn/s/blog_5ce0a2540100jyoc.html

#include <iostream.h >是VC6以前的写法。

#include <iostream >
using  namespace  std;

这个是标准库的写法。标准库把这些个文件都放到std这个namespace里面了。

可以到VC\include看看和VC6.0的区别,是iostream而不是iostream.h。

注意 <iostream>和<iostream.h>是两个不同的东西
<iostream>是STL库
<iostream.h>是兼容于c的库
所有STL库都在std::名空间下
std::cout是 <iostream>里面的对象

namespace std: 所有的C++ Standard LibraryClass都包含在这个叫std的name
space里。比如 <vector>,<iostream>,<iterator>等等。所以当你使用它们其中的class时
,需要加入这个语句,using namespace std; 不然编译器报错。


`Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager` 这个错误通常在将应用程序从 Windows 环境部署到 Linux 环境时出现,特别是在涉及图形处理(如生成图片验证码)时。以下是一些可能的解决方法: ### 1. 安装字体依赖 在 Linux 系统中,确保已安装必要的字体库。可以使用以下命令安装常见的字体: ```bash yum install -y fontconfig mkfontscale yum install -y dejavu-sans-fonts dejavu-serif-fonts dejavu-sans-mono-fonts ``` 或者在基于 Debian 的系统上使用: ```bash apt-get update apt-get install -y fontconfig ttf-dejavu ``` ### 2. 配置字体路径 确保 Java 能够找到字体文件。可以通过设置 `FONTCONFIG_PATH` 环境变量来指定字体配置文件的路径: ```bash export FONTCONFIG_PATH=/etc/fonts ``` 也可以在 Java 启动参数中指定字体路径: ```bash java -Djava.awt.headless=true -Dsun.java2d.fontpath=/usr/share/fonts -jar yourApp.jar ``` ### 3. 启用无头模式 由于这个错误通常与图形处理有关,启用 Java 的无头模式可以避免一些与图形环境相关的问题。在启动 Java 应用程序时添加 `-Djava.awt.headless=true` 参数: ```bash java -Djava.awt.headless=true -jar yourApp.jar ``` ### 4. 检查依赖版本 确保应用程序的所有依赖项(包括 Spring 框架、Java 版本等)在开发和生产环境中是一致的。不一致的版本可能会导致类加载问题。 ### 5. 清理和重建项目 有时候,项目中的缓存文件可能会导致类加载问题。尝试清理项目并重新构建: ```bash mvn clean package ``` 或者使用 Gradle: ```bash gradle clean build ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值