2015-07-19 3 views
0

Я искал в других ответах, но я не нашел, как исправить это, и я не могу понять, почему это может помочь кто-то?visual studio 2013 выпуск компиляции не открывать файлы

Когда я скомпилирован в режиме отладки, все работает нормально, даже если я изменяю конфигурацию отладки из многопоточной DLL Debug (/ MDd) в многопоточную DLL (/ MD), но при компиляции с программой выпуска сбой при попытке чтобы открыть файл с

std::ofstream inFile(fileNamePath, std::ios_base::app | std::ios_base::out); 

не знаю, как и многие другие ошибки больше, потому что, когда программа начинает работать, он открывает файл конфигурации и аварии.

времени Buid это сообщение apears

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. 

все остальные файлы были настроены ти многопоточных Debug DLL (/ MDd) для отладки и многопоточной DLL (/ MD) для выпуска.

+1

Вы связываете какие-либо сторонние библиотеки? – AccessViolation

+0

inFile (т. Е. Входной файл, я думаю) вдоль w/append + out IO-манипуляторов, кажется довольно странным для меня .. –

+0

Уже разрешен другой файл cpp с #pragma comment (lib, "MSVCRTD.lib") и i dont см. просто переход на «MSVCRT.lib», когда компиляция выпущена и программа теперь работает нормально, но все еще имеет предупреждение LNK4098: defaultlib «LIBCMT» конфликтует с использованием других libs; use/NODEFAULTLIB: библиотека. –

ответ

1

Мое образованное предположение, что вы смешиваете конфигурацию отладки и выпуска.

Попробуйте скомпилировать код с Multi-threaded DLL (как и вы) в выпуске без оптимизации, чтобы получить программу, которая может быть отлажена и использует тот же CRT.

Смежные вопросы