C++编译良好,但无法调试
C++ Compiles fine but cannot debug
好的,让我说得很清楚,这样我以后就不必重复了。请仔细阅读,我会尽量简明扼要。我会把我想强调的部分加粗。
我非常擅长C++,我不是一个程序员。我做了很多项目,我想这是6个月内第二次发生这种情况。
问题是,我开始了一个控制台项目,它没有控制台,但有一个SDL库启动的opengl窗口。我玩得很开心,所有的构建和调试了我的项目好几次,它构建和运行都很好。
然后,突然,我在添加了一些内容后构建了我的项目(如果你想知道的话,可以发射子弹),我想测试添加内容它构建得很好(构建成功),但当我尝试开始调试时,它说找不到.exe文件。它似乎没有创建.exe文件。
下面是一些你可能想知道的精确信息:
- 我没有更改项目设置,它以前运行得很好
- 这与我的子弹射击无关,我的意思是它建造得很好
- 我的项目有一个main.cpp和一个我制作的GLRect类,还有一个我用游戏常量制作的GameConstants.h文件
- 我使用的是Visual Studio 2010,我安装了带有SDL_image插件的SDL-1.2.15库
- 我在Windows 8 64位笔记本电脑上运行,规格如下:16GB内存i7常春藤桥处理器2.3GHzNVIDIA GTX 670M 3GB图形卡
如果您需要更多规格,只需询问
- Origine是我项目的名字
- 在C:。。。\Origine\Origine\Debug\我有很多.tlog文件
这是一个构建日志,但它是法语的。。。
1>------ Rebuild All started: Project: Origine, Configuration: Debug Win32 ------
1>Build started 2013-07-01 01:54:39.
1>_PrepareForClean:
1> Deleting file "DebugOrigine.lastbuildstate".
1>InitializeBuildStatus:
1> Creating "DebugOrigine.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1> main.cpp
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.h(14): warning C4244: 'argument' : conversion de 'const double' en 'int', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.h(14): warning C4244: 'argument' : conversion de 'const double' en 'int', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.h(14): warning C4244: 'argument' : conversion de 'const double' en 'int', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.h(14): warning C4244: 'argument' : conversion de 'const double' en 'int', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineoriginemain.cpp(26): warning C4244: 'argument' : conversion de 'time_t' en 'unsigned int', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineoriginemain.cpp(133): warning C4018: '<' : incompatibilité signed/unsigned
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineoriginemain.cpp(161): warning C4018: '<' : incompatibilité signed/unsigned
1> GLRect.cpp
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.h(14): warning C4244: 'argument' : conversion de 'const double' en 'int', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.h(14): warning C4244: 'argument' : conversion de 'const double' en 'int', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.h(14): warning C4244: 'argument' : conversion de 'const double' en 'int', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.h(14): warning C4244: 'argument' : conversion de 'const double' en 'int', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(46): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(46): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(47): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(47): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(48): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(48): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(49): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(49): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(54): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(54): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(55): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(55): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(56): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(56): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(57): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(57): warning C4244: 'argument' : conversion de 'double' en 'GLfloat', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(165): warning C4244: 'argument' : conversion de 'double' en 'int', perte possible de données
1>c:usersalexandredocumentsvisual studio 2010projectsjeuxorigineorigineglrect.cpp(165): warning C4244: 'argument' : conversion de 'double' en 'int', perte possible de données
1> Génération de code en cours...
1>MSVCRTD.lib(cinitexe.obj) : warning LNK4098: conflit entre la bibliothèque par défaut 'msvcrt.lib' et les autres bibliothèques ; utilisez /NODEFAULTLIB:library
1>Manifest:
1> Deleting file "DebugOrigine2.exe.embed.manifest".
1>MSVCRTD.lib(cinitexe.obj) : warning LNK4098: conflit entre la bibliothèque par défaut 'msvcrt.lib' et les autres bibliothèques ; utilisez /NODEFAULTLIB:library
1> Origine.vcxproj -> C:UsersAlexandreDocumentsVisual Studio 2010ProjectsJeuxOrigineDebugOrigine2.exe
1>FinalizeBuildStatus:
1> Deleting file "DebugOrigine.unsuccessfulbuild".
1> Touching "DebugOrigine.lastbuildstate".
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:02.05
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
问题出在您的防病毒软件上。明显的症状是,当您立即尝试手动启动文件时,该文件会被删除(并且您认为这是问题所在)。有关如何将异常添加到目录或文件的信息,请参阅防病毒文档。
相关文章:
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 即使使用调试编译标志,表达式也是"optimized out"
- 调试编译的服务器在数据库打开时崩溃
- 如何在调试中使用Visual Studio正确编译WebRTC?
- 使用Qt Creator在调试模式下编译一段代码
- 在调试配置中编译工作正常,但发布会给出链接错误
- 如何调试无法编译的Arduino程序?
- 在调试模式下编译时qrc_resource.cpp错误
- Boost tread 代码在 VC++ 下编译,但不在 GCC 下编译:如何获得更好的调试信息
- 如何调试编译 c++ 代码的 bazel?
- 在Visual Studio 2017上无法使用调试模式x64进行OpenCV3.2编译
- 无法在 WXWIDGETS Windows 10 中编译调试
- Valgrind 标志,调试与发布编译
- 在没有 -g 选项的情况下编译,但我想获得更详细的调试信息
- C/C++ 远程编译,使用 ELF 的本地调试会话(嵌入式,Cortex-M)
- lower_bound()函数不能在调试模式下编译
- Android Studio,CMake.如何在编译时打印调试消息
- Visual Studio Code VSCode调试/编译c++
- Android本机调试编译与externalNativeBuild.ndkBuild
- Visual Studio 2008 - 尝试减小C++调试编译中的内存分配大小