有没有办法为我本地安装的Code :: Blocks设置一些预定义的宏.
要详细说明,基本上我想在pc上编译某些块,而不是我发送代码的任何地方.实现此目的的一种方法如下:
#define MYPC
#ifdef MYPC
//do something
#else
// do something else
#endif
Run Code Online (Sandbox Code Playgroud)
我想要实现同样的目标,但我不想包含#define MYPC这一行,并且想在IDE中添加它.我知道如何在Visual Studio中执行此操作,我认为它也存在于Code :: Blocks中.谢谢.
我正在尝试调试Code :: Blocks中的程序.我尽可能地遵循本指南和这个简短视频,但调试器不会在断点处停止 ...
我看到一个类似的问题仍未解决(我不确定是否应该碰它或打开一个有更多细节的新问题),我确实检查了"生成调试符号[-g]"标志.优化和"剥离所有符号[-s]"也都被禁用.我甚至按照那里的建议尝试了标志-ggdb ,也没有成功.
我正在使用TDM-GCC 4.5.2(我刚刚升级,之前我遇到了与4.5.1相同的问题),调试器是GNU gdb(GDB)7.2(之前与GDB 7.1相同).我在Windows 7 x64上,使用Code :: Blocks SVN 7040(这是最新的每晚构建,据我所知他们推荐的不是经常更新的稳定版本)(我在SVN 6931中遇到了同样的问题).
最后,我还注意到调试器抱怨缺少调试符号,这是调试器窗口中的输出:
Build succeeded
Selecting target:
Debug
Adding source dir: G:\[...]\IPCMB3\
Adding source dir: G:\[...]\IPCMB3\
Adding file: bin\Debug\IPCMB3.exe
Starting debugger:
done
Registered new type: wxString
Registered new type: STL String
Registered new type: STL Vector
Setting breakpoints
Reading symbols from G:\[...]\IPCMB3/bin/Debug/IPCMB3.exe...(no debugging symbols found)...done.
Debugger name and version: GNU gdb (GDB) 7.2
Child process …Run Code Online (Sandbox Code Playgroud) 我即将开始一个C++项目,但我仍然坚持基础.
我想使用(linux)Code :: Blocks IDE,并且很容易创建一个普通的项目.但是我想使用UnitTest ++框架进行TDD,我不知道如何干净地设置所有内容.
我已经问过一个关于把命令放在哪里的问题UnitTest::RunAllTests(),他们告诉我最好的地方是main()一个单独的程序.
我如何在Code :: Blocks中执行此操作?我想我需要创建2个项目:
main();main()有UnitTest::RunAllTests()内.然后以某种方式构建第一个项目并在构建过程中运行第二个项目.我不知道该怎么做,但我可以自己找出来.
我的问题是:
我已经在这几个小时了(这就是今天)所以我真的可以使用一些帮助.我总是在Windows环境中编写代码,所以我试图将curlpp添加到我的Code :: Blocks项目中.
但是我得到了很多"未定义的引用"错误,所以我猜这意味着curlpp也需要编译.它包含一个VC8项目,所以我下载了Visual C++ 2005 Express并进行了安装.
打开项目时遇到的第一个错误是无法加载示例.我想这不是一个真正的问题.尝试立即构建项目,给出错误"无法打开包含文件:'curl/curl.h'",因此我将cURL include文件夹curl-7.22.0\include添加到项目中,然后重试.
1>------ Build started: Project: curlpp, Configuration: DebugDynamic Win32 ------
1>Compiling...
1>cURLpp.cpp
1>C:\Users\admin\Downloads\curl-7.22.0\curl-7.22.0\include\curl/curl.h(62) : fatal error C1083: Cannot open include file: 'winsock2.h': No such file or directory
1>Easy.cpp
1>C:\Users\admin\Downloads\curl-7.22.0\curl-7.22.0\include\curl/curl.h(62) : fatal error C1083: Cannot open include file: 'winsock2.h': No such file or directory
1>Exception.cpp
1>C:\Users\admin\Downloads\curl-7.22.0\curl-7.22.0\include\curl/curl.h(62) : fatal error C1083: Cannot open include …Run Code Online (Sandbox Code Playgroud) 所以我试图将我的OpenGL代码从Main()移动到一个特定的类中,该类只在必要时处理3D图形.以前,我的main.cpp文件的顶部看起来像这样:
#define GLEW_STATIC
#include <GL/glew.h>
#include <SFML/Graphics.hpp>
#include <cstdlib>
#include <iostream>
#include <fstream>
#include "Game.h"
Run Code Online (Sandbox Code Playgroud)
这很好用.我试图做的是将所有与OpenGL相关的代码移到Game类的方法中.所以我删除#define GLEW_STATIC,并#include <GL/glew.h>从上面的,并把它们放到Game.h,这样Game.h的顶部,现在看起来是这样的:
#define GLEW_STATIC
#include <GL/glew.h>
#include <SFML/Graphics.hpp>
#include <cstdlib>
#include <iostream>
#include <fstream>
#include "Environment.h"
Run Code Online (Sandbox Code Playgroud)
当我尝试编译时,我得到标题错误,#error gl.h included before glew.h.
为什么会发生这种情况,如何在不发生这种情况的情况下(几乎)完全在特定类的函数内部使用OpenGL代码?
编辑:
我也在main.cpp中尝试过这个配置,试图确保在GLEW之前没有包含任何SFML.
#include <cstdlib>
#include <iostream>
#include <fstream>
#include "Game.h"
#include <SFML/Graphics.hpp>
Run Code Online (Sandbox Code Playgroud)
不幸的是,这没有帮助(没有其他任何内容,我在这里没有提到).
我已经多次构建了glew lib.我的上一个构建删除了对所有着色器函数的未定义引用,例如glCreateShader().我认为这个构建是正确的,因为我发现Code:Blocks可以打开Visual Studio 6.0项目,所以它为我准备了一切.
我可以glewInit()在不调用的情况下编译我的应用程序但是在调用时它会导致SEGFAULT glCreateShader().这是由于没有初始化glew引起的.
我需要打开它,但它不会让我XD
链接:mingw32,glew32,opengl32,glu32,glut32
IDE:Code :: Blocks
编译:MINGW32
有谁知道在C++中使用调试器的好初学者教程?
我觉得我好像错过了很多.我知道如何单步执行代码并查看局部变量(尽管通常这会导致我出现问题,但有时它似乎有自己的想法!).
其他所有内容(调用堆栈,运行线程等)对我来说都没有任何意义,我还没有可以解密的后向跟踪(与后面跟踪始终指向代码中的某些功能时的分段错误的示例问题不同! ).基本上我没有更好的只是插入cout语句,这通常是我最终做的:)
我正在使用Code :: Blocks但是如果有一个非常好的教程,我愿意暂时更改IDE来学习调试器.我找到的教程或者只是解释了如何逐步完成我已经知道的代码,或者它们是非常全面地解释一切,这对于我的小脑子而言是压倒性的,在这个阶段并不是真的必要.
如何在代码块中清除输出控制台?为什么不clrscr(); 在Code :: Blocks工作,但在Borland工作?
我已经尝试过了:
cout << "\x1b[2J\x1b[1;1H" << flush;
cls() ;
Run Code Online (Sandbox Code Playgroud) 我对整体编程很陌生,我打算学习Qt.我想知道是否有任何方法可以使用QT设置Code :: Blocks,这样我就可以使用IDE代替QtCreator了?我不太喜欢Creator,我已经习惯了处理Code :: Blocks.
提前致谢.
我正在用C编写程序.我想在控制台中更改文本颜色和背景颜色.我的示例程序是 -
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <dos.h>
#include <dir.h>
int main(int argc,char *argv[])
{
textcolor(25);
printf("\n \n \t This is dummy program for text color ");
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我编译这个程序代码:: blocks给我一个错误 - textcolor未定义.为什么会这样?我在GNU GCC编译器和Windows Vista中工作.如果它不起作用什么是textcolor的副本.就像我想要改变控制台的背景颜色.编译器给出了同样的错误,只是函数的名称不同.如何更改控制台和文本的颜色.请帮忙.
即使答案是在C++中,我也没关系.