首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Dev-C++到VC++

从Dev-C++到VC++
EN

Stack Overflow用户
提问于 2010-08-24 19:29:31
回答 4查看 1.8K关注 0票数 2

是的,这是个菜鸟问题……

到目前为止,我的所有项目都在使用Dev-C++,但它已经非常过时了,而且库也在哪里。因此,我打开了我的可视C++副本,并复制了代码。当我编译时,会弹出一百万个错误,就好像我的代码每两行都是狗屎一样。我讨厌从头开始这个项目。

问:为什么Dev-C++和VC++的编译方式不同?我听说他们使用不同的编译器,但仍然是C++。我看到的第一个错误是const char*和std::string之间的无效比较。

不管怎样,有没有办法让VC++对编程不那么严格,就像Dev-C++一样。或者,在Dec-C++和VC++编译器之间有一些我应该知道的主要区别。

大多数错误似乎都与std::string相关,或者是LPCWSTR (我可以自己修复)。

对于这个非常宽泛和无用的话题,我很抱歉,我知道。

-Alex

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-24 19:53:09

这不会解决所有问题,但可能会有所帮助。

默认情况下,VC++使用unicode,而MinGW (我相信DevCpp基于它)使用ansi

这可能解释了您关于字符串的问题:您基本上是在传递char*字符串,而大多数函数都需要类似于wchar*的内容。

我建议要么修复代码,使其符合unicode,要么取消定义VC++项目中的UNICODE宏,如果不需要unicode的话。

正如您所说的,您的旧代码是C++,代码也是C++,所以不应该有那么多工作……只要你不依赖于编译器特定的行为。

你能给我们一些严重出错的东西的样本吗?我们也许能更准确地提供帮助。

票数 1
EN

Stack Overflow用户

发布于 2010-08-24 20:09:21

首先,有一些注意事项,因为许多Dev-C++用户感到困惑(我过去也是如此)。

Dev-C++不是编译器。编译器是GCC (或者,更准确地说,是GCC的一个修改版本,这样它就可以在Windows上运行: MinGW)。Dev-C++是一个集成开发环境:一个带有附加按钮的文本编辑器,当单击时,该按钮将使用适当的参数调用MinGW。

没别的了。

Visual Studio也是如此: Visual Studio是集成开发环境,它调用实现VC++的Visual Compiler (vc.exe),这是微软对C++标准的实现。

第二:这不是一个菜鸟问题。您已经发现了可移植性问题,这在C和C++中是一个令人沮丧的领域。StackOverflow上的许多问题都是由于可移植性问题(一个可以在Windows上运行但不能在Linux上运行的代码,等等)。

一般的经验法则是: 1)将编译器的警告级别设置为最大;2)在所有目标平台上并行开发。

希望这能有所帮助。

票数 4
EN

Stack Overflow用户

发布于 2010-08-24 19:52:47

项目设置是否相同?也许您需要链接额外的.libs或添加类似的预处理器指令,就像在Dev-C++中一样。如果您只是将代码复制并粘贴到项目中,那么您实际上是在将项目设置全部重新设置为默认值,这对许多项目来说都会破坏构建。

除此之外,试着在问题中添加你收到的最常见的错误之一,代码行,也许我们可以评论一下。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3555938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档