c++ - visual studio 2013 发布编译不打开文件

标签 c++ visual-studio-2013

我搜索了其他答案,但没有找到解决方法,我不明白为什么会发生这种情况,有人可以提供帮助吗?

当我使用 Debug模式编译时,一切都运行正常,即使我将调试配置从多线程调试 DLL (/MDd) 更改为多线程 DLL (/MD),但是当使用发布程序编译时尝试崩溃用

打开文件
std::ofstream inFile(fileNamePath, std::ios_base::app | std::ios_base::out);

不知道还有多少其他错误,因为当程序开始运行时,他打开配置文件并崩溃。

此消息会及时出现

LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library

当程序开始运行时,这会在调试时发生

'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp120.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\wsock32.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\crypt32.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcr120d.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ws2_32.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcr120.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msasn1.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\nsi.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Symbols loaded.
'Servidor.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Symbols loaded.
First-chance exception at 0x777CDF63 (ntdll.dll) in Servidor.exe: 0xC0000005: Access violation writing location 0x00000014.
Unhandled exception at 0x777CDF63 (ntdll.dll) in Servidor.exe: 0xC0000005: Access violation writing location 0x00000014.

所有其他文件都配置了用于调试的多线程调试 DLL (/MDd) 和用于发布的多线程 DLL (/MD)。

最佳答案

我有根据的猜测您正在混合调试和发布配置。

尝试在没有优化的情况下使用多线程 DLL 编译您的代码(就像您所做的那样),以便您获得可以调试并使用相同 CRT 的程序。

关于c++ - visual studio 2013 发布编译不打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31505604/

相关文章:

c++ - 在访问多维数组的内置数组和初始化列表时交换标识符和下标

c# - Visual Studio 2013 中的 FxCop 和代码分析

javascript - 如何从 ASP.NET MVC 项目引用 c# 库项目中的 javascript 文件?

visual-studio - 固定Fortran延续行中的无法识别 token '&'

visual-studio-2013 - Windows身份验证在IIS Express中不起作用,使用Visual Studio 2013,Windows 8进行调试

c# - Visual Studio 从一般开发设置更改

c++ - 如何从窗口获取像素数据\像素缓冲区并提取 RGB?

c++ - 映射参数 C++

java - 如何从虚拟机调用 native 函数?

c++ - 封装类的用户输入数据